본문 바로가기

Computer Science&Engineering/리눅스

리눅스(centos)에서 도커 이미지 제작 및 업로드하는 방법

1) 이미지 제작

컨테이너를 사용하여 이미지를 제작하기

 

1. docker commit [컨테이너이름] [hubId/imageName:tag]

docker commit os7 hyunjung0506/mycentos:latest
sha256:9f7584c105e00acc96d05aa1d0f02f746ce80c1b09ff3fed22a7e5cd7949632d

docker image ls
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
hyunjung0506/mycentos   latest              9f7584c105e0        10 seconds ago      216MB

 

2. docker export / import :  컨테이너의 파일 시스템을 추출해서 이미지 생성

docker export -o export.tar os7

 

2) 업로드

이미지에 태그 다는 법을 보려면 더보기를 누르세요!

더보기

docker tag : 이미지를 업로드 할 때 태그 기능을 사용하여, 이미지에 대한 정보, 이름을 알려줄 수 있다. 

이미지를 업로드 하려는 목적이라면 태그를 지정할 때 "허브ID/저장소이름:태그" 형태를 유지하는 것이 좋다.

아래와 같이 

docker tag centos:latest hyunjung0506/hhj:centos

docker images로 확인해보면, 이미지에 태그가 잘 저장되었다. 

REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
hyunjung0506/hhj        centos              831691599b88        5 weeks ago         215MB

 

이미지 업로드를 하려면 https://hub.docker.com/  에 아이디를 가지고 있어야 하고, 로그인을 해야 한다.

 

Docker Hub

Docker Certified:Trusted & Supported Products Certified Containers provide ISV apps available as containers. Certified Plugins for networking and volumes in containers. Certified Infrastructure delivers an optimized and validated Docker platform for enterp

hub.docker.com

docker login  명령을 사용한다.

[admin@localhost ~]$ 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: hyunjung0506
Password: 
WARNING! Your password will be stored unencrypted in /home/admin/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

로그아웃을 하고 싶으면 docker logout 명령을 사용하면 된다.

 

docker push 명령을 사용하여 이미지를 도커 허브에 올린다.

[admin@localhost ~]$ docker push hyunjung0506/hhj:centos 
The push refers to repository [docker.io/hyunjung0506/hhj]
eb29745b8228: Mounted from library/centos 
centos: digest: sha256:fd84102fc72960dd1b8da0ee3b4c13e3b0c1d2a085de118bc4c97821cd986e02 size: 529

 처음으로 docker hub에 push 해봤다. 이는 웹 페이지에서도 확인이 가능하다.

반응형