본문 바로가기
Container/Docker

[Docker] Dockerhub에 도커 이미지 배포하기

by @__100.s 2021. 8. 31.
반응형

Docker Hub 란?

  • 도커 허브는 도커에서 제공하는 기본 이미지 저장소로 ubuntu, centos, debian등의 베이스 이미지와 ruby, golang, java, python 등의 공식 이미지가 저장되어 있다.
  • 회원가입만 하면 대용량의 이미지를 무료로 저장할 수 있고 다운로드 트래픽 또한 무료이다. 단, 기본적으로 모든 이미지는 공개되어 누구나 접근 가능하므로 비공개로 사용하려면 유료 서비스를 이용해야 한다.

회원가입 Sign up

  • 도커 허브 사이트에 접속하여 회원가입을 완료한다.

로그인 Login

docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: 
Password:
Login Succeeded
  • ID와 패스워드를 입력하면 로그인이 되고 ~/.docker/config.json에 인증정보가 저장되어 로그아웃하기 전까지 로그인 정보가 유지된다.

이미지 태그 Image tag

[Registry URL]/[사용자 ID]/[이미지명]:[tag]
  • Registry URL은 기본적으로 도커 허브를 바라보고 있고 사용자 ID를 지정하지 않으면 기본값(library)을 사용한다.
  • 따라서 ubuntu = library/ubuntu = docker.io/library/ubuntu 는 모두 동일한 표현이다.
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
  • 도커의 tag명령어를 이용하여 기존에 만든 이미지에 추가로 이름을 지어줄 수 있다.
docker tag app ssonie/ssonie-app:1
  • 앞에서 만든 app 이미지에 계정 정보와 버전 정보를 추가해보자.
    • ssonie 라는 ID 를 사용하고, 이미지 이름을 ssonie-app 으로 변경했다.
    • 첫 번째 버전이므로 태그는 1을 사용한다.
docker push app ssonie/ssonie-app:1
  • push 명령을 이용해 도커 허브에 이미지를 전송한다.
The push refers to a repository[docker.io/ssonie/ssonie-app]
2adeabae7edc: Pushed
8343e5bcf528: Pushed
af3b68c8b565: Pushed
40dd6783317f: Pushed
c6ae77e29c22: Pushed
5eb5bd4c5014: Mounted from library/ubuntu
d195a7a18c70: Mounted from library/ubuntu
af605e724c5a: Mounted from library/ubuntu
59f161c3069d: Mounted from library/ubuntu
4f03495a4d7d: Mounted from library/ubuntu
1: digest: sha256:af83aca920982c1fb17f08b4aa300439470349d58d63c921f67261054a0c9467 size: 2409
  • 성공적으로 이미지를 도커 허브에 푸시하였다.

참고

반응형