Devops/Docker

[Docker] Docker 이미지 다루기 (2)

모닥불꽃 2021. 6. 11. 00:57
반응형

앞서 포스팅에서 Docker hub에 이미지 파일을 올려서 공유하는 방법에 대해 포스팅했었습니다.

하지만 Docker hub에 올리는 경우 공개로 되어 노출이 됩니다.

이를 해결하기 위해 private registry를 사용하여 관리하여 배포할 수 있습니다.

 

Docker hub에서는 private registry를 구현할 수 있게 컨테이너를 제공합니다.

다음 명령어를 통해 registry 컨테이너를 실행시켜줍니다.

$ docker run -d -p 5000:5000 --restart always --name registry registry:2

--restart always 옵션: registry는 항상 실행되어야 함을 보장하는 옵션입니다

--name registry 옵션: 이름을 registry로 설정합니다

registry:2 옵션: 버전은 2 버전을 사용합니다.

이렇게 registry를 만들어놓은 상태에서 다음 명령어들을 입력해서 이미지를 registry에 push 하고 pull 할 수 있습니다.

$ docker pull ubuntu
$ docker tag ubuntu locatlhost:5000/ubuntu
$ docker push localhost:5000/ubuntu
$ docker pull localhost:5000/ubuntu

그럼 이제 private registry에 있는 내용을 확인해 보겠습니다.

private registry는 UI가 없어서 다음 명령어를 통해 UI를 설정해 줘야 합니다

$ docker pull hyper/docker-registry-web

$ docker run -it -p 8080:8080 --name registry-web --link registry -e REGISTRY_URL=http://registry:5000/v2 -e REGISTRY_NAME=localhost:5000 hyper/docker-registry-web

--link registry 옵션: 사전에 불러온 registry 컨테이너와 연결하는 것입니다.

-e REGISTRY_URL 옵션: REGISTRY_URL환경 변수 값을 설정해주는 것입니다.

-e REGISTRY_NAME 옵션: REGISTRY_NAME 환경 변수 값을 설정해주는 것입니다.

hyper/docker-registry-web: 사용되는 최종 이미지입니다.

 

위 명령어 실행을 하고, locathost:8080에 접속하면 UI를 확인할 수 있습니다.

반응형