Docker commit/save/load

Seongkeun·2023년 1월 7일
1

docker

목록 보기
1/5
post-thumbnail
post-custom-banner

Docker commit

일반적으로 도커 컨테이너 상에서 작업한 내용등은 컨테이너가 종료되면 함께 사라진다. 도커 컨테이너 상에서 작업한 내용을 이미지로 커밋(commit) 해서 나중에 해당 이미지로부터 다시 컨테이너를 실행함으로 작업했던 내용을 다시 사용할 수 있다.

  1. 실행중인 도커 컨테이너 종료
  2. 종료된 도커 컨테이너의 ID 확인
    2-1) docker ps -a
CONTAINER ID   IMAGE                    COMMAND                  CREATED         STATUS                        PORTS                NAMES
f3f331eae710   python                   "-p 10880:8888 -v /m…"   6 minutes ago   Created                                            distracted_sinoussi
  1. 로 컨테이너 내용을 이미지로 생성
    3-1) docker commit [컨테이너 명 || 컨테이너 ID ] [커밋할 이미지명:tag]
    docker commit python_prophet python:3.8-new

  2. docker images 로 생성된 이미지 확인

REPOSITORY               TAG           IMAGE ID       CREATED          SIZE
python                   3.8-new       cfda4e69c8d9   22 minutes ago   1.23GB
  1. 새로 생성된 이미지로부터 도커 컨테이너 실행. 실행 시 이전까지 진행했던 작업상태가 보존 됨
    5.1) docker run -it python:3.8-new

  2. docker exec -it python_prophet bin/bash

Docker save

docker save -o [출력할 파일명.tar] [이미지명:tag] : 컨테이너 이미지를 로컬파일로 저장

Docker load

Dockerfile을 만들어서 Dockerfile을 통한 build로 진행하시는 것을 권유
docker load -i [저장되어있는 파일명.tar]

save 와 load, import 와 export

  • docker save & load: 도커 이미지 저장하고 로드, 해당 이미지는 오리지널 이미지와 동일
  • docker export & import: 도커 컨테이너 저장하고 로드, 오리지널 이미지를 아카이빙 하여 하나의 레이어로 저장된 이미지로 추출
  • docker export & import로 로드한 이미지를 작동시키기 위해서는 Dockerfile을 작성하거나, import change 옵션 사용하여 필요한 구문 추가

REFERENCE

profile
지혜는 지식에서 비롯된다
post-custom-banner

0개의 댓글