도커 허브에 이미지 업로드 하기

알파로그·2023년 4월 25일
0

Linux 와 Docker

목록 보기
18/28

🔗 도커 허브

✏️ 준비하기

📍 로그인

  • 도커 허브 사이트에서 로그인하기
  • 리눅스에서 도커 로그인하기
    • 처음엔 id, pw 를 입력해야 하지만 두번째 부터는 자동 로그인 되는 듯 하다.
    • 참고로 이메일 말고 아이디를 입력해야 로그인 가능하다.
    • Login Succeeded 문구가 나오면 로그인 성공
docker login

📍 업로드할 이미지 준비

  • 이전에 작업한 이미지를 업로드 할 예정이다.

🔗 레시피로 node 이미지 만들고 실행하기


  • 지금 보유한 3개의 이미지중 첫번째 node_hello_1 를 업로드 할 계획이다.
REPOSITORY       TAG       IMAGE ID       CREATED             SIZE
node_hello_1     latest    f32862c9b1c0   14 minutes ago      957MB
nginx_custom_1   latest    d013c87f1b6b   About an hour ago   135MB
nginx            latest    9e7e7b26c784   12 days ago         135MB

✏️ 이미지 업로드 양식

  • 도커허브에서는 이미지를 업로드 할 때 일정한 양식을 요구한다.
    • 이미지 이름을 업로더 아이디와 함께 작성해야한다.
    • 즉 이미 세팅되어있는 이미지명으로는 업로드가 불가능하다.
{업로더}/{이미지이름}

# Ex)
choidaekuk/node_hello_1

✏️ 이미지 태그

  • 도커에서 한번 만든 이미지의 이름은 병경할 수 없다.
    • 그래서 도커에서는 태그 라는 기능을 제공해 이미지 이름을 대체할 수 있도록 해준다.

📍 태그 사용법

  • 아래의 명령어로 기존 이미지에 태그를 붙힐 수 있다.
docker tag {이미지명} {태그명}:{버전}

# Ex
docker tag node_hello_1 choidaekuk/node_hello_1:1

  • 태그를 추가하고 이미지를 확인해보면 아래와 같이 새로운 이름의 이미지가 생성된다.
    • 하지만 Image id 를 보면 이전 이미지 id 값과 같은 걸 확인할 수 있다.
      • 즉 이 두 이미지는 같은 이미지라는 의미이다.
    • 또 태그를 보면 생성할 때 적어준 버전이 표시되는걸 볼 수 있다.
[root@localhost ~]# docker images
REPOSITORY                TAG       IMAGE ID       CREATED             SIZE
choidaekuk/node_hello_1   1         f32862c9b1c0   About an hour ago   957MB
node_hello_1              latest    f32862c9b1c0   About an hour ago   957MB
nginx_custom_1            latest    d013c87f1b6b   2 hours ago         135MB
nginx                     latest    9e7e7b26c784   12 days ago         135MB

✏️ 이미지 업로드

  • 아래의 명령어를 입력해 로컬의 이미지를 도커 허브에 push 할 수 있다.
    • 만약 양식을 지키지 않은 이미지를 push 하면 자동으로 실패 메시지가 출력된다.
    • ⚠️ Mounted from ...
      • push 중에 이러한 작업 상태를 확인할 수 있는데 이것은 현재 build 하고 있는 docker 이미지 레이어의 ... 이미지의 레이어를 참조해 공유가 성공했다는 의미이다.
docker push {이미지 이름}:{버전}

# Ex
docker push choidaekuk/node_hello_1:1

  • push 가 완료되면 도커허브의 프로필에서 push 된 이미지를 확인할 수 있다.


✏️ 도커허브에 Push 한 이미지 pull 하기

📍 기존 이미지 삭제

  • push 한 이미지를 pull 하기 위해 기존 이미지를 삭제해야 한다.
# 실행중인 컨테이너 삭제
docker rm -f node_1

# 이미지 삭제
docker rmi -f node_hello_1
docker rmi -f choidaekuk/node_hello_1:1

📍 도커 허브 이미지 pull

  • 아래 명령어를 입력해 허브의 이미지를 로컬로 가져올 수 있다.
docker pull {이미지명}:{버전}
# Ex
docker pull choidaekuk/node_hello_1:1

📍 이미지 실행

  • docker run 은 pull 의 명령어를 포함한 명령어기 때문에 pull 을 생략하고 바로 Run 을 해도 작동된다.
docker run \
    --name=node_1 \
    -p 8080:8080 \
    --rm \
    -d \
    choidaekuk/node_hello_1:1

profile
잘못된 내용 PR 환영

0개의 댓글