The Image Registry service is provided using the open source project Harbor. It provides storage functions and user authentication functions for Docker image management.
You can create a Public/Private project to manage images to provide services to multiple users. For more information, refer to the guide below or the User Guide on the open source project site.
To use the service, click Image Registry in the ZCP Console side menu.
TABLE OF CONTENTS
Sign up for an account
Create an account by clicking the Sign up for an account link at the bottom left of Harbor and log in to Harbor.
View Image Registry Project
View project list
After logging in to the system, you can check the project list by clicking the Projects menu at the top left menu on the first screen.
Image View
On the Project List screen, click the Project Name link.
You can then view the list of Images included in your project.
Pushing an Image to a Project
With Docker Client...
Log in to the Image Registry
You must log in to the Image Registry to push images to a public project or pull or push images to a private project.
You can log in immediately by executing the following command. You must be registered as a project member to log in.
$ docker login [IMAGE_REGISTRY_URL] Username: # Image Registry 사용자 계정 Password: # Image Registry 사용자 비밀번호
Push Image
The method for pushing using the Docker command is the same as the existing method for pushing an image. You must perform docker login before pushing.
# 이미지 Tag를 생성합니다. $ docker tag SOURCE_IMAGE[:TAG] [IMAGE_REGISTRY_URL]/[프로젝트명]/IMAGE[:TAG] # 이미지를 Push 합니다. $ docker push [IMAGE REGISTRY URL]/[프로젝트명]/IMAGE[:TAG]
Pull Image
To pull using the Docker command, simply enter an accessible image.
$ docker pull [IMAGE_REGISTRY_URL]/[프로젝트명]/IMAGE[:TAG]
In a Kubernetes Pod...
Creating and registering an Image PullSecret
When using Private Image Registry in Kubernetes Pod, you need to handle authentication like Docker login. For this, use ImagePullSecret.
Check the Secret created in the namespace with the command below.
$ kubectl get secret --namespace my-namespace NAME TYPE DATA AGE my-docker-secret kubernetes.io/dockerconfigjson 1 1d my-tls-secret kubernetes.io/tls 2 1d
To create a Pod, add a Secret name to image PullSecrets as shown below, and you can use the image when creating a Pod.
apiVersion: v1 kind: Pod metadata: name: private-reg spec: containers: - name: private-reg-container image: [IMAGE_REGISTRY_URL]/[프로젝트명]/IMAGE[:TAG] imagePullSecrets: - name: my-docker-secret
Online consultation
Contact us