关于docker:我应该在Mac OS上设置’–insecure-registry’标志?

Where should I set the '--insecure-registry' flag on Mac OS?

我正在使用OS X 10.10。当试图与我们团队的私有Docker注册表通信时,它总是给我这样的错误:

1
2
3
4
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配置文件中来解决,如下所示:

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

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


我正在寻找一种方法,把--insecure-registry放到Mac的Docker中。结果比我最初想象的要简单…

单击托盘中的Docker图标打开Preferences。单击守护进程选项卡,并在不安全注册表部分添加不安全注册表。

how to set docker --insecure-registry on mac os x

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


必须将其设置为docker machine的/boot2docker配置文件:docker-machine ssh

/var/lib/boot2docker/profile文件

1
2
3
4
EXTRA_ARGS='
--label provider=virtualbox --insecure-registry myregistry:5000

'

然后重新启动Docker服务。

1
sudo /etc/init.d/docker restart


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

1
2
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


mac docker的配置文件在~/.docker/daemon中,您添加到软件界面的配置对于mac来说是错误的配置,因为它是一个额外的","像这样。

1
2
3
4
5
6
7
8
    {
   "insecure-registries" : [
       "XXXX:5000", \\ <-- THIS","
      ],
     "registry-mirrors" : [
       "https://registry.docker-cn.com", \\ <--  THIS","
      ]
    }

正确的配置是

1
2
3
4
5
6
7
   "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.
      ]
    }