Docker를 언제 어디서든 사용하려면 공유 공간에 이미지를 올려야 한다. 디폴트는 도커허브다.
도커허브에 사용자 계정을 만들고 이미지 저장소를 이용해 보자.
1. docker hub login 하기
(1) docker hub에 사용자 계정을 만든다.
(2) CLI로 docker credential을 생성한다. docker hub id/pwd 인증을 하는 단계로 성공하면 credential이 생성된다. 그다음부터는 인증창 없이 바로 접속된다.
docker login
위 docker 사이트 링크를 띄워 인증한다.
ctrl + click -> 브라우저 실행하고 입력창에 코드를 넣고 엔터를 친다. 맞으면 login이 성공한다.
2. docker images 만들기
이전 강좌에서 만든 hello-docker를 이용해 이미지를 만들자. 주의할 점은 docker hub 사용자명과 이미지 버전을 넣어서 만드는 게 좋다. 이를 이해하려면 공유 저장소가 docker hub만 있는 게 아니라 구글이나 아마존, github 등 여러 곳에 올릴 수 있다.
# docker 이미지를 내리는 명령어다. 레지스트리 주소가 바로 저장소 사이트이다. 생략하면 docker hub 사이트가 디폴트값으로 설정된다.
docker pull [레지스트리주소]/[이미지명]:[태그]
# 예시
# Google Container Registry (GCR)
docker pull gcr.io/google-containers/nginx:latest
# Amazon Elastic Container Registry (ECR)
docker pull [aws_account_id].dkr.ecr.[region].amazonaws.com/nginx:latest
# GitHub Container Registry
docker pull ghcr.io/OWNER/IMAGE_NAME:latest
# Azure Container Registry (ACR)
docker pull myregistry.azurecr.io/nginx:latest
docker hub에 이미지를 올려 보자.
(1) docker hub 사용자명과 버전을 넣어 이미지를 빌드한다.
docker build -t user1/hello-docker:v1 .
dockder hub 사용자명 user1과 hello-docker 이미지 버전을 v1으로 한다.
(2) 이미지 확인
docker images
* 만약 docker hub사용자명과 버전없이 이미지를 생성하면 이미지를 바로 등록할 수 없다. tag 명령어를 이용해 사용자명과 버전을 명시한다.
docker tag hello-docker user1/hello-docker:v2
3. docker hub에 push하기 (docker hub 레지스트리에 이미지 등록하기)
docker push jandbond/hello-docker:v1
docker hub 사이트에서 이미지 등록 확인하자.
v2 버전을 하나 더 push하자
docker push jandbond/hello-docker:v2
v2가 올라간 걸 확인하자.
자, 이제부터 전 세계 사람들이 내가 만든 docker 이미지를 사용할 수 있다. 얼마나 대단한가!!!
4. docker hub에서 이미지 내려받기
(1) 로컬 이미지 확인 : 내려받거나 생성된 이미지가 있으면 삭제하자.
(2) 이미지 pull
docker pull user1/hello-docker:v1
docker hub에서 hello-docker v1버전을 내려받는다. docker images 명령어로 확인하자.
(3) 이미지를 컨테이너에 올려 실행하자
docker run user1/hello-docker:v1
docker 명령어 연습이 필요하면 아래 포스팅 참고하자.
2024.12.22 - [코드리뷰] - Docker 이해하는 세상에서 제일 쉬운 예제 만들기 - 기본 명령어 1
댓글