有人知道如何指定用户名/密码,以便在docker stack deploy
期间从私人注册表中提取图片吗?我希望能够在一个命令中执行此操作:
docker stack deploy --compose-file docker-compose.yml --username <user> --password <pass> mystack
没有这个,我首先要做一个
docker login -u <user> -p <pass> <registry-url>
这可以在一个命令中完成吗?
答案 0 :(得分:2)
这对我有用,我在dockerhub上有一个私人回购
docker login -u <<UserName>> -p <<Password>>
registry.hub.docker.com/<<Repo_Name>>
&& docker stack deploy -c docker-swarm.yml mystack --with-registry-auth
关键是将用户名密码和注册表名称一起传递,然后使用此标志跟进--with-registry-auth
Here is the link提供了分步信息。
答案 1 :(得分:0)
我认为通常不能在一个命令中执行此操作,但是如果您坚持,则可以为具有特定IP的客户端配置私有注册表而无需身份验证。
或者您可以在不同的命令中执行此操作,但只需一行:
$ docker login -u <user> -p <pass> <registry-url> && docker stack deploy --compose-file docker-compose.yml mystack
答案 2 :(得分:0)
问题Use SSH pub key in order to allow access to a repository #531解决了使用SSH和密钥连接到存储库的问题。这是维护安全和财富的最佳方式。
但您可以创建一个只读用户来执行该操作。如果您自动化该过程,您可以重新设置de user或更改密码,顺便说一下,您可以选择任何转弯来解决此问题。