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