我使用的是OS X 10.10。在尝试与我们团队的私人码头注册表进行通信时,它会一直给我这样的错误:
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
选项?
答案 0 :(得分:105)
我一直在寻找一种在 Docker for Mac 中设置--insecure-registry
的方法。结果比我最初想的更简单......
点击托盘中的 Docker图标以打开偏好设置。单击守护程序选项卡,在不安全的注册表部分添加不安全的注册表。
不要忘记申请&重新启动,您就可以开始了。
答案 1 :(得分:23)
您必须将其设置为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
答案 2 :(得分:5)
设置它的正确方法是通过--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
这实际上最终会在EXTRA_ARGS
/var/lib/boot2docker/profile
答案 3 :(得分:2)
对于MAC中的Docker桌面2.3.x,可以将其设置如下:转到“ docker”->“首选项”->“ Docker Engine”并添加以下内容:
insecure-registries": [
"my private docker hub url"
]
答案 4 :(得分:1)
从Docker 2.3.0.3开始,它必须为host:port
格式,即您必须删除http / https。样本配置
"insecure-registries": [
"registry.com:443",
"registry-2.net:80"
]
答案 5 :(得分:0)
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.
]
}
答案 6 :(得分:0)