Docker Hub에 이미지 배포하기

이서형·2025년 3월 30일
0

Docker

목록 보기
5/6

📍이미지를 생성하고 다른 도커 엔진으로 이미지를 배포하기 위해 Docker Hub에 이미지를 Push하고 Pull하기
-> docker savedocker export 로도 이미지를 단일 .tar 파일(파일이나 폴더를 하나로 묶은 아카이브 파일)로 추출하여 백업하거나 배포할 수 있다. 하지만 이미지 파일의 크기가 크거나 배포 대상(도커 엔지 or 서버)의 수가 많을 경우, 이 방식은 비효율적이다.
-> 도커 허브로 이미지를 배포하는 이유

  • 중앙 저장소 역할
    : Docker Hub는 도커 이미지의 온라인 저장소 역할을 한다. 개발자가 이미지를 push(업로드하면), 다른 사람이나 서버에서 간단히 Pull해서 사용할 수 있다.
  • 파일 복사 없이 배포 가능
    : .tar 파일을 직접 복사해서 load할 필요가 없다. 도커가 설치된 어디서든 인터넷만 되면 이미지 다운로드가 가능하기 때문에 편하고 빠르다.
  • 자동화 & CI/CD에 최적화
    : GitHub Actions, GitLab CI 같은 도구랑 연동하면, 코드 푸시할 때마다 자동으로 이미지를 빌드하고 Docker Hub에 배포 가능하다.
  1. 레파지토리 생성하기
    Docker Hub 사이트에 들어가서 레파지토리를 생성한다.
    Creat a repository
    저장소의 이름은 '계정 이름/이미지 이름' 형식이다.
  1. 올릴 도커 이미지 생성하기
    -> 컨테이너를 실행해서 컨테이너 상태를 이미지로 저장할거임.
    docker run -it --name seohyeong_container ubuntu:focal
    : ubuntu:focal 이미지를 기반으로 컨테이너 실행
    -> 컨테이너 안에서 패키지를 설치하거나 코드 복사, 환경설정 변경, 파일 생성 등의 작업을 한다. -> exit
    docker commit seohyeong_container seohyeong_ubuntu
  • 이 이름으로 저장소에 이미지를 올릴 수 없다. 이미지 이름을 레파지토리 이름과 동일하게 변경해야 한다.
    docker tag seohyeong_ubuntu seohyeong/seohyeong_ubuntu
    : docker tag [기존 이미지 이름] [새로운 이미지 이름]
    -> docker tag 명령어는 같은 이미지를 이름만 다르게 목록에 추가된다.(이미지 아이디가 동일)
  1. 도커 허브(레파지토리)에 이미지 올리기
    도커 허브에 로그인 docker login
    docker push seohyeong/seohyeong_ubuntu

    -> 레파지토리에 이미지가 올라간 것을 확인할 수 있다.

  2. Docker Hub에 올라와있는 이미지 Pull하기
    Docker desktop에서 이미지와 컨테이너 삭제
    docker pull seohyeong/seohyeong_ubuntu

0개의 댓글