2.4.4. 手动公开 Non-Secure Registry
对于非生产环境的 OpenShift Container Platform,可以公开一个非安全的 registry,而不必通过安全 registry 来公开 registry。这允许您使用一个外部路由到 registry,而无需使用 SSL 证书。
警告
为外部访问非安全的 registry 只适用于非生产环境。
公开一个非安全的 registry:
公开 registry:
# 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
检查 registry 的健康状况:
$ curl -v http://registry.example.com/healthz
预期为 HTTP 200/OK 消息。
公开 registry 后,通过将端口号添加到
OPTIONS
条目来更新您的 /etc/sysconfig/docker 文件。例如:OPTIONS='--selinux-enabled --insecure-registry=172.30.0.0/16 --insecure-registry registry.example.com:80'
重要上面的选项应该添加到您要从其登录的客户端上。
此外,确保 Docker 在客户端上运行。
登录到非安全且公开的 registry 时,请确保在 docker login
命令中指定 registry。例如:
# docker login -e user@company.com \ -u f83j5h6 \ -p Ju1PeM47R0B92Lk3AZp-bWJSck2F7aGCiZ66aFGZrs2 \ <host>