您好我正在尝试docker push
[docker-simple-httpserver]# docker push myregistry/simplehttpserver:latest
The push refers to a repository [myregistry/simplehttpserver] (len: 1)
Sending image list
FATA[0000] Error: Status 403 trying to push repository simplehttpserver: "{\"error\": \"Unauthorized updating repository images\"}"
我可以在username
命令上指定password
和docker push
吗?
答案 0 :(得分:23)
出于安全原因,我认为他们会将密码保留在命令行之外。
这样做的方法是首先登录,然后按。
https://docs.docker.com/mac/step_six/
$ docker login --username=maryatdocker --email=mary@docker.com
Password:
WARNING: login credentials saved in C:\Users\sven\.docker\config.json
Login Succeeded
然后按
$ docker push maryatdocker/docker-whale
The push refers to a repository [maryatdocker/docker-whale] (len: 1)
7d9495d03763: Image already exists
c81071adeeb5: Image successfully pushed
答案 1 :(得分:12)
通常,您可以使用互动docker login
指定密码,然后执行docker push
。
对于非交互式登录,您可以使用-u
和-p
标记。
docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
Travis CI docs for docker builds举例说明如何automate a docker login。
有关详细信息,请参阅docker login。
答案 2 :(得分:1)
据我所知,你必须使用docker login
。凭据将存储在/home/user/.docker/config.json
中,用于跟踪docker push
es。
如果您在自动化之后,命令expect
将对您感兴趣。