我在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"'
Run Code Online (Sandbox Code Playgroud)
加载守护程序并重新启动docker服务后,systemd会显示环境变量
$ sudo systemctl show docker | grep Env
Environment=DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"
Run Code Online (Sandbox Code Playgroud)
但是,当我运行时,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
Run Code Online (Sandbox Code Playgroud)
推送图像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
Run Code Online (Sandbox Code Playgroud)
有什么可以做的吗?我错过了什么吗?
UPDATE
通过添加/etc/docker/daemon.json包含以下内容的文件解决了该问题
{
"insecure-registries" : [ "hostname.cloudapp.net:5000" ]
}
Run Code Online (Sandbox Code Playgroud)
然后重启docker
sudo …Run Code Online (Sandbox Code Playgroud)