如何在docker push上指定用户名和密码?

时间:2015-12-23 11:03:48

标签: docker docker-registry

您好我正在尝试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命令上指定passworddocker push吗?

3 个答案:

答案 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将对您感兴趣。