概要
プライベートリジストリにdocker image を保存して、
チームや個人でもイメージをシェアしている例はいくつかあると思います。
そんな際に、例えばそのホストが
xxx.xxx.xxx:5000
だったとします。
そこから
docker pull xxx.xxx.xxx:5000/test
を用いてイメージをプルしようとした時、
Error response from daemon: Get https://xxx.xxx.xxx:5000/v2/: http: server gave HTTP response to HTTPS client
と言われたときの対処法です。
対応策(mac)
Mac OS ではタスクバーの鯨アイコンから Preferences > Daemon > Advanced を選択することで可能です。)
このjson形式の設定に
{
“insecure-registries”:[“xxx.xxx.xxx:5000”]
}
この1行を追記した後、docker をリスタートすると、プルできるようになります。
対応策(Ubuntu)
$grep ExecStart /lib/systemd/system/docker.service
を実行してください。
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
と表示される場合、
$sudo vim /lib/systemd/system/docker.service
を実行し、
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry=/xxx.xxx.xxx:5000
となるように、
--insecure-registy 以下を追加してください。
この後、
$sudo systemctl daemon-reload
$sudo service docker stop
$sudo service docker start
を実行し、プルをもう一度試してみてください。