2.3.1 도커 이미지 생성

//commit의 옵션을 지정하고 커밋할 컨테이너의 이름을 명시한 뒤 생성될 이미지의 이름을 입력
docker commit [OPTIONS] CONTAINTER [REPOSITORY[:TAG]]

//-a옵션은 이미지 작성자, -m옵션은 커밋 메시지
//아래 명령은 commit_test라는 컨테이너를 commit_test:first라는 이름의 이미지로 생성
docker commit \
-a "hong" -m "my first commit" \
commit_test \
commit_test:first

2.3.2 이미지 구조 이해

//docker history 명령은 이미지가 어떤 레이어로 생성됐는지 출력
docker history commit_test:second

//이미지 삭제 
docker rmi commit_test:first

//컨테이너가 사용 중인 이미지를 강제 삭제
docker rmi -f ~

//댕글링 이미지 삭제
docker images -f dangling=true

//사용 중이지 않은 댕글링 이미지 한번에 삭제
docker image prune

2.3.3 이미지 추출

//이미지의 모든 메타데이터를 하나의 파일로 추출
docker save -o ubuntu_14_04.tar ubuntu:14.04

//추출된 이미지 도커에 다시 로드
docker load -i ubuntu_14_04.tar

//export 명령어로 이미지 추출
docker export -o rootFS.tar mycontainer

//import 명령어로 이미지 다시 저장
docker import rootFS.tar myimage:0.0

2.3.4 이미지 배포

도커 허브 저장소

//이미지 이름의 접두어를 이미지가 저장되는 저장소 이름으로 설정해야함
//docker tag [기존의 이미지 이름] [새롭게 생성될 이미지 이름]
docker tag myimage:0.0 yorez/myimage:0.0

//도커 허브 서버에 로그인
//도커 엔진에서 로근한 정보 => /[계정명]/.docker/config.json 파일에 저장
docker login

//이미지를 저장소에 업로드
docker push yorez/myimage:0.0

//이미지 다운로드
docker pull yorez/myimage:0.0

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 run -d --name myregistry \
-p 5000:5000 \
--restart=always \
registry:2.6

// 사설 레지스트리 주소로 접두어 설정 필요
docker tag myimage:0.0 ${DOCKER_HOST_IP}:5000/myimage:0.0

docker push ${DOCKER_HOST_IP}:5000/myimage:0.0
docker pull ${DOCKER_HOST_IP}:5000/myimage:0.0

+ Recent posts