현재 사용중인 docker 컨테이너를 이미지로 변환하려면 docker commit을 사용해야 합니다.
예제로 사용하기 위해 nginx을 docker 컨테이너로 생성합니다.
nginx 컨테이너를 생성할 때 volume 옵션을 추가했는데
그 이유는 컨테이너를 이미지로 변환할 때 volume 옵션도 포함되는지 확인하기 위해서입니다.
컨테이너 내부에 volume 옵션으로 설정한 nginx.conf 파일을 맞는지 확인하고
volume옵션 말고 파일도 docker commit에 포함되는지 확인하기 위해
컨테이너 내부에 test.txt 파일을 생성합니다.
현재 실행 중인 nginx 컨테이너를 종료하고
docker commit으로 nginx 컨테이너를 이미지로 변환합니다.
docker commit을 사용하려면 "docker commit 컨테이너ID 이미지이름:태그" 이렇게 해야 이미지가 생성됩니다.
"컨테이너ID"는 이미지로 만들 컨테이너의 ID이고
"이미지이름:태그"는 생성할 이미지 이름 및 태그로 사용자 임의로 설정하면 됩니다.
nginx 컨테이너가 이미지로 생성된 것이 확인되었으면
생성된 이미지를 컨테이너로 실행합니다.
새로 생성한 컨테이너로 접속해서 nginx.conf 파일을 확인해보면
이전 컨테이너의 volume 옵션으로 설정한 정보는 docker commit에 포함되지 않는 것으로 확인됩니다.
하지만 이전 컨테이너에서 생성한 test.txt 파일은 docker commit에 포함되어 있는 것으로 확인됩니다.
따라서 docker commit을 실행할 때 이전의 컨테이너에 설정한 옵션(예를 들면 volume 옵션)들은 포함되지 않고
컨테이너 내부에 생성한 파일(플러그인 포함)들은 포함되는 것을 알 수 있습니다.
'dev > DOCKER' 카테고리의 다른 글
Dockerfile 작성 (0) | 2023.05.25 |
---|---|
docker log 파일 확인 (0) | 2023.05.22 |
docker cp (0) | 2022.10.31 |
docker volume (0) | 2022.10.31 |
docker-compose 사용 (0) | 2022.08.31 |