自己紹介がてら

都内で働くWEBエンジニアです。主にITエンジニアの技術系の話、最近買ったものの話し、音楽の話に付いて書きます。

Docker for Mac --insecure-registry の設定方法

前置き

Docker for Macで他サーバのregistryにHTTP通信したい方必見。

Docker for Mac で、他サーバのregistryにデフォルトのHTTPS通信でなく、HTTP通信をするための設定を記載すべきファイルが特定できずハマったため記載します。

作成したdockerのimageを保存する場合、一般的には以下の公開レジストリに保存します。

docker hub

https://hub.docker.com/

 

セキュリティの都合などで、サーバの構成等の情報を公にしたくない場合は、以下のツールを使用して簡単プライベートリポジトリを作成することができます。

registry

https://docs.docker.com/docker-trusted-registry/overview/

 

ただここで一つ落とし穴が。
他のサーバに立てたregistryに対しての通信はデフォルトでHTTPS通信になっています。
この場合クライアント側で何かしら設定してあげないと、通信できません。
考えられる設定としては以下のとおり。
①証明書を買う
②HTTP通信の設定にする
オレオレ証明書

今回は社内サーバに対しての通信なので、HTTP通信を使用するパターンで問題ないと判断。
②の方法を採用しました。


手順

以下を参照すると、--insecure-registryという値を設定すれば良いよう。
ただ記載してある変更ファイルは。centos用のようだ。
https://docs.docker.com/registry/insecure/


ここで詰まりました。が、なんとか設定箇所を判定しました。
なんとGUIから設定できます!

・Prefarencesを選択

f:id:gimutokenri:20160630021942p:plain

・Insecure registries に<ホスト名:port>の形式で記入

f:id:gimutokenri:20160630021920p:plain



GUIは盲点でした・・・。
Docker for MacはDockerToolと比べて、GUIで操作できる部分が増えていて、親しみやす印象を覚えました。

 

おまけ

Docker for Mac以外の--insecure-registry書き換コマンド

 

docker-machine

$docker-machine ssh default \
"echo 'EXTRA_ARGS=\"--insecure-registry <ホスト名:port>\"' \
| sudo tee -a /var/lib/boot2docker/profile \
&& sudo /etc/init.d/docker restart"


centos7

$echo 'DOCKER_OPTS=\"--insecure-registry <ホスト名:port>\"' \
| sudo tee -a /etc/sysconfig/docker \
&& sudo service docker restart

 

---


Qiitaにも書きました

qiita.com