반응형

(Docker)도커 - (Docker Hub) 도커 허브 사이트에 저장(push) 및 가져오기(pull)

 

도커 이미지를 저장하고, 다른 호스트에서 가져다가 사용하는 방법에는 3가지 방법이 있습니다.

  1.  docker save 명령어로 저장 및 docker load 명령으로 로드
  2.  (Docker Hub) 도커 허브 사이트에 저장(push) 및 가져오기(pull)
  3.  개인 저장소(Private Registry) 컨테이너를 만들고 그곳에 저장(push) 및 가져오기(pull)

이번 포스팅에서는 지난 포스팅에 이어서 2번 방법을 포스팅하겠습니다.



도커 허브 가입 및 레파지토리 생성하기

먼저 도커 허브에 접속하고 ID, 이메일, 패스워드를 입력한 후 회원가입을 합니다.

https://hub.docker.com/

 

Docker Hub

We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy policy

hub.docker.com

회원가입

 

다음은 요금정책을 선택하도록 합니다. 저는 무료를 선택했습니다.

요금정책 무료 선택

 

이후 이메일로 확인 메일이 발송됩니다. 본인 이메일 계정에 접속하여 메일을 읽고 "Verify email address"를 클릭하고 로그인을 합니다.

메일 확인

 

로그인 후 상단에 레파지토리스 메뉴로 이동합니다.

레파지토리스 클릭

 

Create Repository 버튼을 클릭합니다.

레파지토리 생성

 

레파지토리 이름, 설명, 공공 또는 개인을 선택한 후 Create 버튼으로 생성합니다.

(참고로 무료 정책에서는 공공 레파지토리는 무한 생성 가능하지만, 개인용 레파지토리는 1개만 생성이 가능합니다)

개인용 레파지토리 생성

 

개인 레파지토리가 생성되었고, 호스트에 있는 도커 이미지를 도커 허브에 업로드하는 도커 push 명령어도 함께 안내해줍니다.

레파지토리 생성 완료

 

 

(Docker Hub) 도커 허브 사이트에 저장(push) 및 가져오기(pull)

이전 포스팅에서 만들었던 nodejs:ver_2 이미지를 push 해보도록 하겠습니다.

도커 이미지 목록

 

위에서 만든 레파지토리 주소는 kkk1318/nodejs:tag 였습니다.

도커 허브에 올릴 이미지 이름 또한 kkk1318/nodejs:tag로 변경해 주어야 합니다.

($ docker tag 기존이미지이름:tag 바꿀이미지이름:tag)

$ docker tag nodejs:ver_2 kkk1318/nodejs:ver_2

도커 tag로 이미지 이름 변경

 

변경된 이미지 이름(TAG)으로 생성되었습니다.

IMAGE ID를 보면 변경 전 이미지와 변경 후 이미지가 같은 ID인 것을 볼 수 있는데, 이는 원본 이미지를 복사한 것이 아니라 같은 이미지에 이름만 추가해서 목록에 추가 등록된 것 입니다.

(동일이미지 사용하는 2개의 다른 이름(TAG))

 

이제 도커 허브에 로그인을 해줍니다.

$ docker login

IP입력
PW입력

도커 로그인

 

그리고 도커 이미지를 push 해줍니다.

($ docker push 레파지토리와같은이미지명:tag)

$ docker push kkk1318/nodejs:ver_2

docker push

 

push가 완료 후 도커 허브에 레파지토리로 가서 새로고침을 하면 ver_2가 올라온 것이 확인됩니다.

레파지토리 정상 push

 

이제 다른 호스트인 CentOS로 접속합니다. 기존에 있는 이미지와 컨테이너를 모두 삭제한 상태입니다.

비어있는 이미지와 컨테이너

 

이제 도커 허브에 로그인합니다.

$ docker login

ID입력
PW입력

docker login

 

이제 이미지를 pull 명령어로 가져옵니다. 그리고 이미지 목록을 확인합니다.

($ docker pull 레파지토리명:tag)

$ docker pull kkk1318/nodejs:ver_2
$ docker images

docker pull

 

이제 pull로 가져온 이미지를 run명령어로 실행하고 브라우저로 접속하여 이전 포스팅에서 만든 node.js 파일이 정상 작동하는지 확인합니다.

$ docker run --name kkk1318_nodejs -d -p 8080:8080 kkk1318/nodejs:ver_2

docker run
node.js 정상작동

(Docker)도커 전체보기

 

'(Docker)도커' 카테고리의 글 목록

전산 관련 경험을 기록 하는 곳

reddb.tistory.com

반응형