7.3.5. 인증된 레지스트리


docker와 함께 인증된 레지스트리를 사용하려면 docker 데몬이 레지스트리에 로그인해야 합니다. OpenShift Container Platform에서는 사용자가 호스트에서 docker login 명령을 실행할 수 없으므로 다른 단계 세트를 수행해야 합니다. 인증된 레지스트리를 사용하여 사용자가 가져올 수 있는 이미지 또는 외부 레지스트리에 액세스할 수 대상을 제한할 수 있습니다.

외부 docker 레지스트리에 인증이 필요하면 해당 레지스트리를 사용하는 프로젝트에서 특수 보안을 생성한 다음, 해당 보안을 사용하여 docker 작업을 수행하십시오.

프로시저
  1. 사용자가 docker 레지스트리에 로그인하려는 프로젝트에서 dockercfg 보안을 생성하십시오.

    $ oc project <my_project>
    $ oc create secret docker-registry <my_registry> --docker-server=<my.registry.example.com> --docker-username=<username> --docker-password=<my_password> --docker-email=<me@example.com>
  2. .dockercfg 파일이 있으면 oc 명령을 사용하여 보안을 생성하십시오.

    $ oc create secret generic <my_registry> --from-file=.dockercfg=<path/to/.dockercfg> --type=kubernetes.io/dockercfg
  3. $HOME/.docker/config.json 파일을 채우십시오.

    $ oc create secret generic <my_registry> --from-file=.dockerconfigjson=<path/to/.dockercfg> --type=kubernetes.io/dockerconfigjson
  4. 가져오기 작업을 수행하는 서비스 계정에 보안을 연결하여 인증된 레지스트리에서 이미지를 가져오려면 dockercfg 보안을 사용하십시오. 이미지를 가져오는 기본 서비스 계정의 이름은 default입니다.

    $ oc secrets link default <my_registry> --for=pull
  5. S2I 기능을 사용하여 이미지를 푸시하려면 dockercfg 보안이 S2I 포드에 마운트되므로, 빌드를 수행하는 적절한 서비스 계정에 연결되어야 합니다. 이미지를 작성하는 데 사용되는 기본 서비스 계정의 이름은 builder입니다.

    $ oc secrets link builder <my_registry>
  6. buildconfig에서 푸시 또는 가져오기 작업에 맞게 보안을 지정해야 합니다.

    "type": "Source",
    "sourceStrategy": {
        "from": {
            "kind": "DockerImage",
            "name": "*my.registry.example.com*/myproject/myimage:stable"
        },
        "pullSecret": {
            "name": "*mydockerregistry*"
        },
    ...[OUTPUT ABBREVIATED]...
    "output": {
        "to": {
            "kind": "DockerImage",
            "name": "*my.registry.example.com*/myproject/myimage:latest"
        },
        "pushSecret": {
            "name": "*mydockerregistry*"
        },
    ...[OUTPUT ABBREVIATED]...
  7. 외부 레지스트리가 외부 서비스에 인증을 위임하는 경우, dockercfg 보안, 즉 레지스트리 URL을 사용하는 레지스트리와 고유 URL을 사용하는 외부 인증 시스템을 둘 다 생성하십시오. 두 보안 모두 서비스 계정에 추가해야 합니다.

    $ oc project <my_project>
    $ oc create secret docker-registry <my_registry> --docker-server=*<my_registry_example.com> --docker-username=<username> --docker-password=<my_password> --docker-email=<me@example.com>
    $ oc create secret docker-registry <my_docker_registry_ext_auth> --docker-server=<my.authsystem.example.com> --docker-username=<username> --docker-password=<my_password> --docker-email=<me@example.com>
    $ oc secrets link default <my_registry> --for=pull
    $ oc secrets link default <my_docker_registry_ext_auth> --for=pull
    $ oc secrets link builder <my_registry>
    $ oc secrets link builder <my_docker_registry_ext_auth>
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.