ICPのプライベートDocker RegistryにMacからdocker pushする


なぜ投稿したか

基本的には、Docker CLI の認証の構成を参照して実施すればよいのですが、ハマったところがいくつかあるので備忘も兼ねて投稿しました。

動作環境

過去の投稿で構築した環境を使用しました。
簡素なレイヤー図は以下になります。

Private Docker Registry
ICP
Ubuntu
VirtualBox
MacOS

ハマりポイント

cluster_CA_domain がわからない

cluster_CA_domain は、インストール時に config.yaml ファイルに設定された認証局 (CA) ドメインです。

何を設定したか(している)か覚えていなく、そもそも設定してないのでは、、、と思っていました。

CA ドメイン名を指定しなかった場合、デフォルト値は mycluster.icp です。

ちゃんと書いてありました。(見落とし)

Docker for Mac の再起動がわからない

Docker サービスを再始動します。

すごーく簡単でした。
画面右上のくじらアイコンからRestartです。

結果

ガイドを参考にしながら、loginします。

$ docker login mycluster.icp:8500
Username: admin
Password:
Login Succeeded

ICP のプライベート Docker Registry に Mac から docker push します。

docker push mycluster.icp:8500/default/docker_hub_id/wlp:v0.0.1
docker push mycluster.icp:8500/default/docker_hub_id/rabbitmq:v0.0.1
docker push mycluster.icp:8500/default/docker_hub_id/mysql:v0.0.1

GUIで確認できました。

この接続ではプライバシーが保護されません エラーへの対応

過去の投稿で構築した環境へ、Google Chrome からログインしようとすると、エラーが表示されます。

SSL通信なのですが、独自の認証局(CA)を使用しているためです。
先ほどのCLIでキーチェーンに証明書を追加しました。
その証明書を信頼してあげると、上記エラーは解消します。

「Launchpad」 -> 「その他」 -> 「キーチェーンアクセス」 を開きます。
「キーチェーン」欄は"システム"、「分類」欄は"証明書"を選択します。

「icp-router」をダブルクリックし、「信頼」の折りたたみを開きます。
「この証明書を使用するとき」は「常に信頼」にし、閉じます。

ログイン画面をリロードすると、エラー画面は表示されなくなります。