앞서 포스팅에서 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를 확인할 수 있습니다.
'Devops > Docker' 카테고리의 다른 글
[Docker] Dockerfile (2) (0) | 2021.06.11 |
---|---|
[Docker] Dockerfile (1) (0) | 2021.06.11 |
[Docker] Docker 이미지 다루기 (1) (0) | 2021.06.11 |
[Docker] Apache 사용해보기 (0) | 2021.06.10 |
[Docker] Docker Volume 사용하기 (0) | 2021.06.10 |
댓글