Docker를 사용하여 레지스트리의 컨테이너 이미지로 작업하려면 레지스트리 인증서를 Docker 클라이언트에 추가합니다. 인증서는 레지스트리 로그인 중에 Docker를 인증하는 데 사용됩니다.

Harbor 레지스트리 또는 Docker Hub와 같은 컨테이너 레지스트리와 상호 작용하도록 Docker 클라이언트를 구성합니다. 이 예에서는 Harbor 감독자 서비스를 사용한다고 가정합니다.

사전 요구 사항

이 작업에서는 Docker 데몬이 설치되어 있는 Linux 호스트(Ubuntu)를 사용하고 있다고 가정합니다. Ubuntu 호스트에 Docker Engine(데몬)을 설치하려면 https://docs.docker.com/engine/install/ubuntu/ 항목을 참조하십시오.

Docker가 설치되어 있고 Docker 허브에서 이미지를 끌어올 수 있는지 확인하려면 다음 명령을 실행합니다.
docker run hello-world
예상 결과:
Hello from Docker!
This message shows that your installation appears to be working correctly.
참고: 이 지침은 Ubuntu 20.04 및 Docker 19.03을 사용하여 확인되었습니다.

프로시저

  1. Harbor 레지스트리에 로그인합니다.
  2. 관리 > 구성 > 레지스트리 루트 인증서를 선택합니다.
  3. 다운로드를 클릭하여 이름이 ca.crt인 Harbor 레지스트리 인증서를 다운로드합니다.
    참고: 필요한 경우 인증서의 이름을 ca.crt로 변경합니다.
  4. ca.crt 파일을 Docker 호스트 클라이언트에 안전하게 복사합니다.
  5. Docker 호스트에서 Harbor IP 주소를 사용하여 개인 레지스트리에 대한 디렉토리 경로를 생성합니다.
    /etc/docker/certs.d/IP-address-or-FQDN-of-harbor/
    예:
    mkdir /etc/docker/certs.d/10.179.145.77
  6. ca.crt를 이 디렉토리로 이동합니다.
    예:
     mv ca.crt /etc/docker/certs.d/10.179.145.77/ca.crt
  7. Docker 데몬을 다시 시작합니다.
    sudo systemctl restart docker.service
  8. Docker 클라이언트를 사용하여 내장형 Harbor 레지스트리에 로그인합니다.
    docker login https://10.179.145.77
    다음 메시지가 표시됩니다.
    WARNING! Your password will be stored unencrypted in /home/ubuntu/.docker/config.json.
    Configure a credential helper to remove this warning. See
    https://docs.docker.com/engine/reference/commandline/login/#credentials-store
    
    Login Succeeded