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>