2.4.4. 非セキュアなレジストリーを手動で公開する
レジストリーを公開するためにレジストリーのセキュリティーを保護する代わりに、OpenShift Container Platform の非実稼働環境で、非セキュアなレジストリーを簡単に公開できます。これにより、SSL 証明書を使用せずにレジストリーへの外部ルートを作成することができます。
非実稼働環境以外では、非セキュアなレジストリーを外部アクセスに公開すべきではありません。
非セキュアなレジストリーを公開するには、以下を実行します。
レジストリーを公開します。
oc expose service docker-registry --hostname=<hostname> -n default
# oc expose service docker-registry --hostname=<hostname> -n default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の JSON ファイルが作成されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ルートが正常に作成されたことを確認します。
oc get route
# oc get route NAME HOST/PORT PATH SERVICE LABELS INSECURE POLICY TLS TERMINATION docker-registry registry.example.com docker-registry docker-registry=default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow レジストリーの健全性を確認します。
curl -v http://registry.example.com/healthz
$ curl -v http://registry.example.com/healthz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow HTTP 200 / OK メッセージが表示されるはずです。
レジストリーを公開したら、ポート番号を
OPTIONS
エントリーに追加して /etc/sysconfig/docker ファイルを更新します。以下に例を示します。OPTIONS='--selinux-enabled --insecure-registry=172.30.0.0/16 --insecure-registry registry.example.com:80'
OPTIONS='--selinux-enabled --insecure-registry=172.30.0.0/16 --insecure-registry registry.example.com:80'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要上記のオプションは、ログインしようとしているクライアントに追加してください。
また、Docker がクライアント上で実行されていることも確認してください。
公開されている非セキュアなレジストリーに ログイン する際に、docker login
コマンドでレジストリーを指定していることを確認します。以下に例を示します。
docker login -e user@company.com \ -u f83j5h6 \ -p Ju1PeM47R0B92Lk3AZp-bWJSck2F7aGCiZ66aFGZrs2 \ <host>
# docker login -e user@company.com \
-u f83j5h6 \
-p Ju1PeM47R0B92Lk3AZp-bWJSck2F7aGCiZ66aFGZrs2 \
<host>