嗨,我正在尝试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
?
我认为出于安全原因,他们会将密码保留在命令行之外。
这样做的方法是先登录然后再按。
https://docs.docker.com/mac/step_six/
$ docker login --username=maryatdocker [email protected]
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
。
对于非交互式登录,您可以使用-u
和-p
标志。
docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
Travis CI docs for docker builds举了一个如何automate a docker login的例子。
有关详细信息,请参阅docker login。
据我所知,你必须使用docker login
。凭证将存储在/home/user/.docker/config.json
中以跟踪docker push
es。
如果您在自动化之后,命令expect
将对您有意义。