Docker에서 내장된 Harbor 레지스트리의 프로젝트로 이미지를 푸시할 수 있습니다. 내장된 Harbor 레지스트리의 프로젝트는 감독자 클러스터의 vSphere 네임스페이스에 해당합니다.
사전 요구 사항
다음과 같은 작업이 완료된 것으로 가정합니다.
또한, 이미지를 푸시하려는 Harbor 레지스트리의 프로젝트에 해당하는 네임스페이스에 대한 쓰기 권한이 있는 사용자 계정을 확보합니다.
마지막으로, 레지스트리로 푸시할 수 있는 로컬 이미지가 필요합니다. 다음 명령은 Docker Hub에서 hello-world 이미지를 끌어옵니다. 이미지를 끌어오려면 이 곳의 계정이 필요합니다.
docker run hello-world
예상 결과:
Hello from Docker!
This message shows that your installation appears to be working correctly.
docker images
명령을 사용하여 이미지를 확인합니다.
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 10 months ago 13.3kB
프로시저
- vSphere Docker Credential Helper를 통해 Harbor 레지스트리에 로그인합니다.
참고: 로그인에
--user username
제공이 허용되지만 UPN(사용자 계정 이름) 구문(
--user [email protected]
)을 사용하여 로그인하고
docker push
명령을 사용해야 합니다.
- Harbor 레지스트리의 프로젝트로 푸시할 이미지에 사용하려는 네임스페이스와 동일한 이름으로 태그를 지정합니다.
docker tag <image-name>[:TAG] <container-registry-IP>/<project-name>/<image-name>[:TAG]
예:
docker tag hello-world:latest 10.179.145.77/tkgs-cluster-ns/hello-world:latest
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
10.179.145.77/tkgs-cluster-ns/hello-world latest bf756fb1ae65 10 months ago 13.3kB
hello-world latest bf756fb1ae65 10 months ago 13.3kB
- Harbor의 프로젝트로 이미지를 푸시하려면 다음 명령을 실행합니다.
구문:
docker push <container-registry-IP>/<namespace-name>/<image_name>
예:
docker push 10.179.145.77/tkgs-cluster-ns/hello-world:latest
예상 결과:
The push refers to repository [10.179.145.77/tkgs-cluster-ns/hello-world]
9c27e219663c: Pushed
latest: digest: sha256:90659bf80b44ce6be8234e6ff90a1ac34acbeb826903b02cfa0da11c82cbc042 size: 525
- 내장된 Harbor 레지스트리에서 이제 이미지를 사용할 수 있는지 확인합니다.
- 내장된 Harbor 레지스트리 콘솔에 로그인
- 에서 프로젝트 링크를 클릭합니다.
- 저장소 탭을 선택합니다.
- 레지스트리에 푸시한 이미지가
namespace/image-name
형식(예: tkgs-cluster-ns/hello-world
)으로 표시되어야 합니다.
- 이 이미지를 선택하면
latest
태그와 기타 메타데이터가 표시됩니다.
- 저장소 탭으로 다시 이동합니다.
- 이미지 푸시 Docker 명령 드롭다운 메뉴를 선택합니다. 이미지에 태그를 지정하고 이 저장소에 푸시하는 명령이 제공됩니다.
예
다음은 내장된 Harbor 레지스트리로 이미지를 푸시하는 또 다른 예입니다.
docker tag busybox:latest <container-registry-IP>/<namespace-name>/busybox:latest
docker push <container-registry-IP>/busybox/busybox:latest
다음에 수행할 작업
Harbor 레지스트리의 이미지를 사용하여 vSphere 포드를 배포합니다. 내장된 Harbor 레지스트리를 사용하여 vSphere 포드에 애플리케이션 배포의 내용을 참조하십시오.