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

嗨,我试图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\"}" 

有没有办法让我在docker push命令中指定usernamepassword

我想他们为了安全的原因保持密码不在命令行。

做到这一点的方法是先login然后推。

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 

通常,您可以使用交互式docker login来指定密码,然后执行docker push

对于非交互式login,可以使用-u-p标志。

docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"

Docker构build的Travis CI文档给出了一个如何实现dockerlogin自动化的例子。

请参阅dockerlogin了解更多详情。

据我所知,你必须使用docker login 。 凭据将存储在/home/ùser/.docker/config.json用于执行以下docker push

如果你是在自动化之后,那么命令expect对你来说会很有趣。