我有一个在CentOS上运行的docker 1.12。我正在尝试向其中添加不安全的注册表,并且文档中提到的内容无法正常工作。系统使用了,systemd
所以我创建了一个/etc/systemd/system/docker.service.d/50-insecure-registry.conf
文件。
$ cat /etc/systemd/system/docker.service.d/50-insecure-registry.conf
[Service]
Environment='DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"'
加载守护程序并重新启动docker服务后,systemd显示环境变量在那里
$ sudo systemctl show docker | grep Env
Environment=DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"
但是当我运行时,我docker info
看不到添加了不安全的注册表
$ docker info
........
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Insecure Registries:
127.0.0.0/8
将图片推送hostaneme.cloudapp.net
失败
Pushing application (hostname.cloudapp.net:5000/application:latest)...
The push refers to a repository [hostname.cloudapp.net:5000/mozart_application]
ERROR: Get https://hostname.cloudapp.net:5000/v1/_ping: http: server gave HTTP response to HTTPS client
有什么可以做的吗?我想念什么吗?
更新
通过添加/etc/docker/daemon.json
具有以下内容的文件解决了该问题
{
"insecure-registries" : [ "hostname.cloudapp.net:5000" ]
}
然后重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker
之后,不安全的注册表将hostname.cloudapp.net:500
起作用。