我正在尝试使用 docker swarm 从私有(private)注册表运行图像。
我有一个已标记并推送到私有(private)注册表的图像。如果我在本地运行它:docker run -p 8000:8000 -d registry.mydomain.com:8080/myimage
它运行良好。
如果我激活我的 swarm 并尝试从那里运行:$(docker-machine env --swarm swarm-master)
docker login registry.mydomain.com:8080
docker run -p 8000:8000 -d registry.mydomain.com:8080/myimage
我得到“需要身份验证”。
我实际上是在尝试通过 docker 远程 API 来执行此操作,但首先我想我应该让它在命令行上运行。
这可能吗?
谢谢!
最佳答案
只是好奇,您正在使用身份验证,但没有 SSL?我认为 docker 仅支持基于 SSL 的基本身份验证。您可以尝试使用不安全标志启动 docker,以至少尝试 swarm 的功能。
docker -d --insecure-registry registry.mydomain.com:8080
您得到的错误可能是 docker swarm host 试图首先从您的注册表中拉下图像,因为 run 可以是拉我这个图像并运行它的简写。
关于docker - 使用 docker swarm 从私有(private)注册表运行容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28998089/