일반적으로 도커 컨테이너 상에서 작업한 내용등은 컨테이너가 종료되면 함께 사라진다. 도커 컨테이너 상에서 작업한 내용을 이미지로 커밋(commit) 해서 나중에 해당 이미지로부터 다시 컨테이너를 실행함으로 작업했던 내용을 다시 사용할 수 있다.
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f3f331eae710 python "-p 10880:8888 -v /m…" 6 minutes ago Created distracted_sinoussi
로 컨테이너 내용을 이미지로 생성
3-1) docker commit [컨테이너 명 || 컨테이너 ID ] [커밋할 이미지명:tag]
docker commit python_prophet python:3.8-new
docker images
로 생성된 이미지 확인
REPOSITORY TAG IMAGE ID CREATED SIZE
python 3.8-new cfda4e69c8d9 22 minutes ago 1.23GB
새로 생성된 이미지로부터 도커 컨테이너 실행. 실행 시 이전까지 진행했던 작업상태가 보존 됨
5.1) docker run -it python:3.8-new
docker exec -it python_prophet bin/bash
docker save -o [출력할 파일명.tar] [이미지명:tag]
: 컨테이너 이미지를 로컬파일로 저장
Dockerfile을 만들어서 Dockerfile을 통한 build로 진행하시는 것을 권유
docker load -i [저장되어있는 파일명.tar]
- docker save & load: 도커 이미지 저장하고 로드, 해당 이미지는 오리지널 이미지와 동일
- docker export & import: 도커 컨테이너 저장하고 로드, 오리지널 이미지를 아카이빙 하여 하나의 레이어로 저장된 이미지로 추출
- docker export & import로 로드한 이미지를 작동시키기 위해서는 Dockerfile을 작성하거나, import change 옵션 사용하여 필요한 구문 추가