클라우드 컴퓨팅/Docker

도커 이미지 만들기 #2 - 도커 허브와 도커 레지스트리

안드레날린 2022. 6. 3. 00:01

도커 허브

도커 허브는 도커 제작사에서 운영하는 공식 도커 레지스트리 이다. 즉, 도커 공식 레지스트리의 이름이다.

 

도커 레지스트리

이미지를 배포하는 장소를 도커 레지스트리라고 한다. 도커 레지스트리는 공개 / 비공개 상관없이 이미지가 배포되는 곳은 모두 도커 레지스트리 이다.

 

레지스트리 vs 레포지토리

레지스트리 : 이미지를 배포 하는 장소

레포지토리 : 레지스트리를 구성하는 단위

 

AhnCompany 에서 MyApp과 YourApp을 만든다면, 레지스트리는 회사나 부서 단위로 만들지만 레포지토리는 소프트웨어 단위이다.

 

AhnCompany
{
    MyApp
    {
        MyApp v1
        MyApp v2
        MyApp v3
        ...
    }
    YourApp
    {
        YourApp v1
        YourApp v2
        YourApp v3
        ...
    }
}

 

비공개 레지스트리

레지스트리용 컨테이너를 만들고 사용하면 된다.

형식은 '레지스트리_주소(도커 허브는 ID)/레포지토리_이름:이미지_이름:버전'이다.

docker pull registry
docker run --name local-registry -d -p 5000:5000 --restart=always -v /data/docker/registry:/var/lib/registry registry

 

비공개 레지스트리에 이미지 빌드

# Dockerfile
FROM ubuntu:20.04
CMD echo "Hello Ahndrenaline"

docker build -t localhost:5000/ahndrenaline/hello:1.0
docker push localhost:5000/ahndrenaline/hello:1.0

 

태그를 이용해 이미지 복제

docker tag 이미지_이름 레지스트리_주소/레포지토리_이름/이미지_이름:버전
docker tag busybox localhost:5000/ahndrenaline/my_busybox:1.0