

| 명령어 | 설명 |
|---|---|
docker export | 컨테이너의 파일 시스템을 .tar 파일로 저장 (레이어 정보 없음) |
docker save | 도커 이미지를 .tar 파일로 저장 (레이어 정보 포함) |
docker import | export한 컨테이너 파일 시스템을 이미지로 변환 |
docker load | save한 도커 이미지를 그대로 복원 |
docker commit | 실행 중인 컨테이너 상태를 새로운 이미지로 저장 |
docker build | Dockerfile을 사용하여 이미지를 생성 |
docker attach | 실행 중인 컨테이너에 다시 접속 |
docker export vs docker save도커에서 컨테이너나 이미지를 파일로 저장할 수 있는데, export와 save의 차이를 이해하는 것이 중요하다.
| 명령어 | 대상 | 특징 | 활용 사례 |
|---|---|---|---|
docker export | 컨테이너 | 레이어 정보 없이 파일 시스템만 저장 | 컨테이너 상태를 저장하고 단순 백업할 때 |
docker save | 이미지 | 모든 레이어와 메타데이터까지 포함 | 다른 환경에서 그대로 이미지를 복원할 때 |
컨테이너를 .tar 파일로 저장 (레이어 정보 없음)
docker export -o container.tar <컨테이너_ID>
저장한 컨테이너를 다시 가져오기
cat container.tar | docker import - my_custom_image
이미지를 .tar 파일로 저장 (레이어 정보 포함)
docker save -o image.tar my_image
이미지를 다시 로드하기
docker load -i image.tar
docker commit vs docker build도커 이미지를 생성하는 방법은 크게 두 가지가 있다.
| 방식 | 특징 | 장점 | 단점 |
|---|---|---|---|
docker commit | 컨테이너 상태를 기반으로 이미지 생성 | 빠르게 커스텀 이미지 생성 가능 | 변경 내역이 기록되지 않아 관리 어려움 |
docker build | Dockerfile 기반으로 이미지 생성 | 버전 관리 용이, 재현성 확보 | Dockerfile 작성 필요 |
컨테이너 변경 사항을 포함하여 새로운 이미지 생성
docker commit <컨테이너_ID> my_custom_image
Dockerfile을 사용하여 이미지 생성
docker build -t my_custom_image .
✅ 결론: 실무에서는 유지보수가 용이한 docker build 방식을 권장한다.
Control + P + Q로 컨테이너에서 빠져나오는 이유도커 컨테이너 내부에서 실행 중인 상태를 유지하면서 터미널을 빠져나오려면 Control + P + Q 단축키를 사용할 수 있다.
| 동작 | 설명 |
|---|---|
Ctrl + C | 컨테이너가 종료됨 |
quit (일반적인 종료 명령) | 컨테이너가 Exited 상태가 됨 |
Control + P + Q | 컨테이너 실행 상태를 유지한 채 터미널에서 빠져나옴 |
docker attach <컨테이너_ID> | 다시 컨테이너에 접속 |
docker run -it --name test_container ubuntu /bin/bashquit 또는 exit 입력 시 컨테이너가 종료(Exited) 상태가 되어버림. exitdocker ps -a # 컨테이너 상태 확인 -> Exited 상태가 됨Control + P + Q를 사용해야 함. docker attach test_container✅ 주의점
quit나 exit을 입력하면 컨테이너가 종료됨(Exited 상태) Control + P + Q를 사용해야 함 docker start -ai <컨테이너_ID>를 사용 docker image import vs docker load컨테이너 또는 이미지를 .tar 파일로 저장할 때, 이를 다시 가져오는 방법은 두 가지가 있다.
| 명령어 | 대상 | 특징 |
|---|---|---|
docker import | 컨테이너 파일 시스템 | 레이어 정보 없이 새로운 이미지로 생성 |
docker load | 이미지 파일 | 레이어 정보 유지, 원본 이미지 그대로 복원 |
컨테이너 파일 시스템을 import하여 이미지 생성
cat rootfs.tar | docker import - my_custom_image
도커 이미지 전체를 load하여 복원
docker load -i image.tar
✅ 결론: 원본 이미지 그대로 사용하려면 docker save/load가 적합하며, 불필요한 레이어를 제거하고 싶은 경우 docker export/import를 사용할 수 있다.