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>