社内ネットワークなどの閉じたネットワークでDockerのレジストリを構築し、http接続するときにUbuntu14.04とubuntu16.04とで設定方法が違ったのでメモしておきます。
検証したときのバージョンは以下の通りです。
- Doker Client/Server:1.12.1
- registry:2.5.0
設定はクライアントに対して行います。
●Ubuntu14.04の設定
/etc/default/docker に以下のオプションを追記します。
DOCKER_OPTS="--insecure-registry レジストリのIPアドレス:ポート番号"
●Ubuntu16.04の設定
/etc/docker/daemon.json(Docker daemonの–config-fileオプションのデフォルト)に以下の設定を追記します。
{ "insecure-registries":["レジストリのIPアドレス:ポート番号"] }
設定後はDockerを再起動してください。
●確認方法
以下のコマンド出力でInsecure Registriesに設定したレジストリのIPアドレス、ポート番号があれば設定が反映されています。
$ docker info ・ ・ ・ Insecure Registries: レジストリのIPアドレス:ポート番号
Ubuntu14.04とUbuntu16.04ではinitシステムが違う(Ubuntu14.04はUpstart、Ubuntu16.04はsystemd)ため上記のように設定を変える必要があります。