【问题标题】:Where should I set the '--insecure-registry' flag on Mac OS?我应该在哪里设置 Mac OS 上的“--insecure-registry”标志?
【发布时间】:2015-12-24 19:45:04
【问题描述】:

我使用的是 OS X 10.10。在尝试与我们团队的私有 docker 注册表通信时,它不断给我这样的错误:

Error: Invalid registry endpoint https://registry.xxx.xxx/v1/: Get
https://registry.af-sys.com/v1/_ping: dial tcp xx.xxx.xxx.xxx:xxx: i/o timeout.
If this private registry supports only HTTP or HTTPS with an unknown CA
certificate, please add --insecure-registry...

在 Ubuntu 系统上,可以通过将 DOCKER_OPTS 添加到 /etc/default/docker 配置文件中来解决此错误,如下所示:

DOCKER_OPTS="$DOCKER_OPTS --insecure-registry myregistry:5000"

Mac OS 是否有类似的配置文件,我可以在其中添加DOCKER_OPTS 选项?

【问题讨论】:

    标签: docker


    【解决方案1】:

    我正在寻找一种在 Docker for Mac 中设置 --insecure-registry 的方法。结果比我最初想象的要简单...

    Docker 桌面 应用程序中:

    1. 点击设置图标
    2. 选择Docker Engine菜单项
    3. 添加不安全的注册表

    别忘了应用并重新启动,您就可以开始了。

    【讨论】:

    • 提示,如果您使用 vpn 连接来访问远程服务器上的一些“不安全的注册表”,似乎您有时必须在建立 vpn 连接后重新启动 docker 客户端。
    • 这是绝对正确和最好的答案——为什么不把它移到最上面是我无法理解的......谢谢!
    • 在这里使用localhost 作为注册表的正确设置是什么?我试图输入localhost:5000 作为不安全的注册表,但是当我curl localhost:5000/v2/ 连接被拒绝...
    • 您可以在高级选项卡中“通过键入 json docker daemon 配置文件来配置 Docker daemon”。有帮助吗?
    • 我已经知道这个事实,更具体地说是如何在配置中添加这些选项,但我找到了答案,dns-searchdns 都接受一个数组...跨度>
    【解决方案2】:

    您必须将其设置为 Docker Machine 的 / Boot2Docker 配置文件: docker-machine ssh <machine name>

    /var/lib/boot2docker/配置文件

    EXTRA_ARGS='
    --label provider=virtualbox --insecure-registry myregistry:5000
    
    '
    

    然后重启Docker服务。

    sudo /etc/init.d/docker restart
    

    【讨论】:

    • 在docker版本Docker version 17.03.1-ce, build c6d412e上找不到/var/lib/boot2docker/profile/etc/init.d/docker
    • 你需要ssh到docker机器
    【解决方案3】:

    工作 MacOS Big Sur

    这是通过泊坞窗图标访问 -> 首选项

    【讨论】:

      【解决方案4】:

      设置它的正确方法是通过--engine-insecure-registry 参数到docker-machine

      docker-machine create --driver virtualbox \
        --engine-insecure-registry myregistry:5000 dev
      

      您还可以使用--engine-opts 传递其他选项。比如通过--engine-opt dns=8.8.8.8设置dns

      这实际上最终会在/var/lib/boot2docker/profile 中设置EXTRA_ARGS

      【讨论】:

      • 新 docker 版本中没有 boot2docker :(
      【解决方案5】:

      Mac docker的配置文件在~/.docker/daemon,你添加到软件界面的配置是MAC的错误配置,因为它是一个额外的“,”像这样。

          {
          "insecure-registries" : [
              "XXXX:5000", \\ <-- THIS ","
            ],
            "registry-mirrors" : [
              "https://registry.docker-cn.com", \\ <--  THIS ","
            ]
          }
      

      正确的配置是

          "insecure-registries" : [
              "XXXX:5000"  \\ there is no comma, it is working.
            ],
            "registry-mirrors" : [
              "https://registry.docker-cn.com" \\ there is no comma, it is working.
            ]
          }
      

      【讨论】:

      • 对于版本 2.3.0.5,文件为 ~/.docker/.daemon.json。您是否忘记输入附录或早期版本的附录不同?
      【解决方案6】:

      对于MAC中的docker desktop 2.3.x,可以设置如下:进入“docker”->“preferences”->“Docker Engine”并添加以下内容:

      "insecure-registries": [
              "localhost:8082",
              "10.23.454.34:2323",
            ]
      

      【讨论】:

      • 欢迎来到 StackOverflow!请提供解释以使给定的代码更易于理解
      • 技术上不是 URL,主机:端口(无方案)
      【解决方案7】:

      从 Docker 2.3.0.3 开始,它必须是 host:port 格式,即您必须删除 http/https。示例配置

      "insecure-registries": [
          "registry.com:443",
          "registry-2.net:80"
        ]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-06-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-17
        • 2011-01-12
        • 2013-12-08
        相关资源
        最近更新 更多