【问题标题】:docker stack deploy from private repodocker stack deploy 从私有仓库
【发布时间】:2017-03-21 13:53:38
【问题描述】:

有人知道如何在docker stack deploy 期间指定用户名/密码以从私有注册表中提取图像吗?我希望能够在一个命令中做到这一点:

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

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

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

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

【问题讨论】:

    标签: docker docker-compose docker-registry


    【解决方案1】:

    这对我有用,我在 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提供分步信息。

    【讨论】:

      【解决方案2】:

      我认为它通常不能在一个命令中完成,但如果您坚持,您可以为具有特定 ip 的客户端配置私有注册表而无需身份验证。

      或者你可以在不同的命令中只用一行来完成:

      $ docker login -u <user> -p <pass> <registry-url> && docker stack deploy --compose-file docker-compose.yml mystack
      

      【讨论】:

        【解决方案3】:

        Use SSH pub key in order to allow access to a repository #531 问题解决了使用 SSH 和密钥连接到存储库的能力。这是保持安全和隐私的最佳方式。

        但是您可以创建一个只读用户来执行该操作。如果你自动化这个过程,你可以重新创建用户,或者更改密码,顺便说一下,你可以选择任何转身来解决这个问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-07-24
          • 1970-01-01
          • 1970-01-01
          • 2020-09-23
          • 2018-01-15
          • 1970-01-01
          • 2023-04-09
          • 2022-06-29
          相关资源
          最近更新 更多