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
機能します。