Docker 이미지를 파일로 내보내기 (Export)

2023. 5. 6. 19:21리눅스 실제 사용 팁/Docker

작성일 : 2020. 10. 26.

 

1. 내보낼 이미지를 컨테이너로 실행하기

도커 이미지를 파일로 내보내려면 컨테이너로 실행해야 한다.

 

docker run -it --rm $(이미지 아이디) /bin/bash

$(이미지 아이디) 대신 $(REPOSITORY:TAG) 를 붙여도 되나, 나는 이미지 아이디가 더 편하므로..

 

run 명령 뒤에 붙이는 -it 는 -i (인터렉티브 모드; 즉, 대화형 쉘 명령모드)와 -t (터미널; 즉, 엑스윈도 터미널에서 실행할 때) 를 합쳐놓은 것이다.

 

--rm 은 컨테이너 실행 종료 시 곧바로 삭제하도록 하는 옵션이다.

(이것을 쓰지 않으면 `docker ps -a` 명령으로 조회했을 때 기존 사용내역이 남는다.

잡다한 내역이 남는 걸 싫어하는 사람에게는 `docker rm $(컨테이너 아이디)` 명령을 한 번 더 실행하는 수고를 덜어주는 옵션)

 

맨 뒤에 /bin/bash 를 실행하는 이유는 쉘을 종료할 때까지 계속 떠 있기 때문이다.

(데비안 외의 배포판인 경우 bash 설치위치가 다를 수 있다. 이를 테면, /usr/bin/bash)

일반적으로 docker run 으로 컨테이너를 띄우면 컨테이너 아이디를 반환한다.

위의 경우는 /bin/bash 를 실행하였기 때문에 쉘 프롬프트에 컨테이너 아이디를 표시하고 있다. ("96f6b8f2bbfd")

 

컨테이너를 실행 중이지 않은 새 터미널에서 docker ps 명령으로도 컨테이너 아이디를 조회할 수 있다.

 

2. 새 터미널에서 실행 중인 컨테이너를 파일로 내보내기

 

docker export $(컨테이너 아이디) > $(저장할 파일명) 으로 내보내기를 완료한다.

 

저장할 파일명은 확장자가 압축파일을 가리키는 tar, tgz, tar.gz, tbz, tar.bz2 모두 가능하다. (이것들을 tarball 이라고 부른다)

3. 확인해보기

 

파일시스템이 담긴 파일이기 때문에 파일을 직접 풀어보는 것보다는 tar 명령으로 압축된 내역을 확인하는 방법이 있다.

파일경로가 '/' 로 시작하기 때문에 괜히 관리자 권한으로 리눅스 쉘에서 압축을 풀었다간.. ㅎㅎ

그와 반대로 윈도우즈 OS 에서 풀 경우에도 경로분리자가 달라서 특수문자로 인식한다거나 이런 저런 상황이 생길 수 있으므로,

안전하게 목록만 확인해보는 게 나을 수 있다.

 

 

'리눅스 실제 사용 팁 > Docker' 카테고리의 다른 글

Dockerfile  (0) 2023.08.01
Docker Compose (번역)  (0) 2023.05.06
Docker 외부 파일을 가져오기 (Import)  (0) 2023.05.06
Docker 빌드하기  (0) 2023.05.06
Docker  (0) 2023.05.06