Docker:如何对 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\"}"

我有没有办法在 --- 命令上指定 usernamepassword docker push 命令?

原文由 Jas 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

我认为他们出于安全原因将密码保留在命令行之外。

这样做的方法是先登录然后推送。

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

原文由 KeepCalmAndCarryOn 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

对于非交互式登录,您可以使用 -u-p 标志:

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

Travis CI docs for docker builds 提供了一个如何 自动化 docker login 的示例。

有关更多详细信息,请参阅 docker 登录

原文由 seveibar 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题