TOP
class="layout-aside-left paging-number">
본문 바로가기
프로그래밍 및 기타/Cloud : AWS

[Cloud] 도커 허브에서 컨테이너 이미지 다운로드 & 업로드하기

by 기록자_Recordian 2025. 2. 27.
728x90
반응형
이전 내용
 

[Cloud] 컨테이너 이미지, 컨테이너 생성 및 실행 (feat. 도커)

이전 내용 [aws] Oracle Virtual Box 설치 및 실행이전 내용 [aws] Tomcat 서버와 DB 연동하기이전 내용 [aws] 도커(Docker) 란?이전 내용 [aws] AMI(Amazon Machine Image) 복제이전 내용 [aws] Elastic IP 할당받아 인스

puppy-foot-it.tistory.com


도커 허브에서 컨테이너 이미지 다운로드하기

 

여기까지 차례대로 쭉 읽어왔으면, 도커 허브는 퍼블릭이라 모든 이들이 접근 가능하다고 했던 것을 알 수 있을 것이다.

그말은 도커 허브에 올려놓은 컨테이너 이미지는 (퍼블릭인 경우에) 다운로드 가능하다는 것이다.

이번에는 도커 허브에 업로드되어 있는 컨테이너 이미지(이하 이미지)를 다운로드해 보려고 한다.

 

먼저, 다운로드할 이미지는 우리 교수님이 도커 허브 Repository에 올려 놓으신 marvel-collection 이라는 이미지다.

도커 허브 웹사이트에 로그인 후, 해당 이미지를 검색해보면 (계정명/이미지명) 아래와 같이 하나가 검색된다.

 

먼저 Oracle VirtualBox를 시작하여 게스트OS(우분투)를 켜고, Xshell의 Docker 세션으로 접속한다.

(켜는 법은 아래 글 참고)

[Cloud] Oracle Virtual Box 설치 및 실행

 

Xshell에서 이미지를 다운받고 새로운 컨테이너를 생성하기 위해 run 명령어를 사용한다.

# 컨테이너 이미지 다운 및 생성(+컨테이너) 할 명령어
docker run -d --name=[사용할 이미지명] -p 포트:포트포워드 포트 도커허브저장소(Repository)
# 도커허브저장소: 계정명/저장된 이미지명

 

다운로드 후 docker images와 docker ps 명령어를 통해 생성된 이미지와 컨테이너 목록을 조회한다.

* 저장소 뒤에 태그(버전) 미입력으로 최신버전으로 다운로드 되었다. 

 

그리고나서 docker inspect 명령어를 통해 해당 컨테이너를 조회한 뒤, IP주소를 복사하여 VirtualBox에서 Firefox를 켠 뒤 주소창에 붙여넣기 하면 아래와 같이 사이트가 잘 출력된다.

 


업로드할 이미지 생성하기 (요약)

 

앞서 이미지 및 컨테이너를 생성하는 방법을 상세히 정리하긴 했으나, 다시 한 번 이를 요약하여 설명해 본다.

컨테이너 이미지, 컨테이너 생성 및 실행 (feat. 도커)

 

1. 도커 파일 작성

먼저 아래 파일은  Node.js 애플리케이션을 위한 Docker 이미지를 생성하기 위한 도커파일의 내용이다.

FROM node:14
LABEL maintainer="nodejs app container <생성자 이메일>"
COPY info.js /info.js
ENTRYPOINT ["node", "info.js"]
  • FROM: 기본 이미지로 사용할 이미지 지정. (Node.js 14 버전)
  • LABEL: 이미지에 메타데이터 추가 명령어. (이미지의 유지 관리자 지정 - 이미지 관리 시 유용)
  • COPY: 로컬 파일을 컨테이너의 파일 시스템으로 복사하는 명령어. (로컬 디렉토리의 info.js 파일을 컨테이너의 루트 디렉토리에 복사)
  • ENTRYPOINT: 컨테이너가 시작될 때 기본 명령어 설정 (Node.js를 사용하여 info.js 파일을 실행하도록 지정 > 컨테이너가 시작되면 자동으로 info.js 실행)

 

2. Xshell로 게스트 OS(가상 컴퓨터)에 접속하여 도커파일과 info.js 파일 업로드

자세한 코드 및 과정은 아래 이미지 확인

 

3. run 명령어로 이미지 및 컨테이너 생성 (+ 컨테이너 실행)

 

4. inspect 명령어로 IP주소 확인하여 체크

 

5. IP주소 가상 PC에서 확인해보기 (Firefox)

 

 


컨테이너 이미지 업로드하기

 

반대로, 내가 만든 이미지를 도커 허브에 업로드 할 수도 있다.

이때 쓰이는 명령어는 tag와 push이다.

 

[docker tag 명령어]

docker tag 명령어는 기존 Docker 이미지를 새로운 이름(또는 태그)으로 라벨링하는 데 사용된다. 이를 통해 이미지를 여러 레포지토리나 버전으로 식별할 수 있다.

  • 이미지를 Docker Hub와 같은 레지스트리에 업로드하기 위해 준비 작업을 할 때 유용.
  • 서로 다른 버전이나 이름으로 이미지를 구분하고 관리하기 위해 사용.
# docker tag 명령어 구조
docker tag [OPTIONS] SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

 

[docker push 명령어]

docker push 명령어는 로컬 시스템에서 Docker 이미지를 Docker 레지스트리(예: Docker Hub)로 업로드하는 데 사용된다. 이 명령어를 사용하면 다른 사용자가 해당 이미지를 다운로드하고 사용할 수 있다.

  • 컨테이너 이미지 배포를 위한 주요 수단.
  • 팀원들이나 다른 사용자들이 동일한 이미지를 사용할 수 있도록 공유하는 방법.
docker push [OPTIONS] NAME[:TAG]

 

 

먼저 tag 명령어를 사용해 라벨링하고, push 명령어를 사용해 업로드한 뒤

도커 허브의 내 저장소(Repository)에 들어가보면 아래와 같이 내가 작업한 이미지가 업로드 되어 있는 것이 확인된다.

 

해당 이미지를 클릭해보면 아래와 같이 정보가 나와있고, Tag 를 확인해 보면 앞서 필자가 설정한 버전인 v1.0 (1.0 버전)으로 되어 있는 것을 확인할 수 있다.

 

앞서 다운로드 및 업로드한 방법을 통해 기업 또는 조직 내에서 구성원들이 해당 버전을 다운로드하여 도커파일을 수정한 뒤, 버전을 바꿔 업로드하여 업데이트하는 방식으로 사용할 수 있다.

 


다음 내용

 

[Cloud] 컨테이너 이미지 경량화 시키기

이전 내용 [Cloud] 도커 허브에서 컨테이너 이미지 다운로드 & 업로드하기이전 내용 [Cloud] 컨테이너 이미지, 컨테이너 생성 및 실행 (feat. 도커)이전 내용 [aws] Oracle Virtual Box 설치 및 실행이전 내

puppy-foot-it.tistory.com

728x90
반응형