Search

What is a registry?

이제 우린 컨테이너 이미지를 로컬 컴퓨터에서 생성하는 법을 알았지만, 만약 다른 친구들과 공유하고 싶거나 다른 머신에서 실행하고자 한다면 어떻게 해야할까?
이때, Image Registry가 필요함
중앙집중화 위치 : 컨테이너 이미지를 저장 및 공유하기 위한
public or private
Docker Hub : 누구나 사용 가능하고 기본 저장소인, public registry
Docker Hub는 유명한 선택지이긴 하지만, 다른 컨테이너 저장소들이 존재 : Amazon Elastic Container Registry(ECR) Azure Container Registry(ACR) Google Container Registry(GCR)

Registry vs Repository

registry와 repository는 연관되어있지만, 동일 의미를 갖지 않음
registry는 컨테이너 이미지들을 저장하고 관리하는 중앙집중식 위치(centralized location) repository는 registry 내 연관된 컨테이너 이미지들의 모음집(collection)
각 repository는 하나 이상의 컨테이너 이미지들을 포함 가능
Docker Hub의 무료 버전에서, 하나의 private repository와 무제한 public repository들 생성 가능

try it out

1.
Docker hub에 로그인해, Create repository : repository 생성
a.
namespace에 repository name 입력
b.
public으로 설정
2.
Docker Desktop에 로그인
3.
로컬 머신 내 프로젝트 접근
a.
docker image build
docker build -t <YOUR_DOCKER_USERNAME>/docker-quickstart .
Bash
복사
dockerfile을 빌드해서 docker image 생성
b.
docker images 확인
docker images
Bash
복사
로컬 머신 내 docker image들 나열
c.
container run
docker run -d -p 8080:8080 <YOUR_DOCKER_USERNAME>/docker-quickstart
Bash
복사
d.
docker image tag
docker tag <YOUR_DOCKER_USERNAME>/docker-quickstart <YOUR_DOCKER_USERNAME>/docker-quickstart:1.0
Bash
복사
e.
새롭게 빌드한 이미지를 repository에 push
docker push <YOUR_DOCKER_USERNAME>/docker-quickstart:1.0
Bash
복사
f.
docker hub에서 push된 이미지 확인 가능