来自私人仓库的docker堆栈部署

时间:2017-03-21 13:53:39

标签: docker docker-compose docker-registry

有人知道如何指定用户名/密码,以便在docker stack deploy期间从私人注册表中提取图片吗?我希望能够在一个命令中执行此操作:

docker stack deploy --compose-file docker-compose.yml --username <user> --password <pass> mystack

没有这个,我首先要做一个

docker login -u <user> -p <pass> <registry-url>

这可以在一个命令中完成吗?

3 个答案:

答案 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或更改密码,顺便说一下,您可以选择任何转弯来解决此问题。