我有一个码头1.12运行在 CentOS 上。我试图添加不安全的注册表到它和文档中提到的东西只是不工作。系统使用 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"'
在加载 daemon 并重新启动 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" ]
}
然后重启码头
sudo systemctl daemon-reload
sudo systemctl restart docker
在不安全的注册表 hostname.cloudapp.net:500工作之后。