새소식

반응형
IT skill/툴

Docker commit 사용법

  • -
반응형

저는 Docker로 환경을 관리할 때 도커는 환경으로만 관리하고 소스는 git 같은 툴, 데이터는 또 다른 툴을 이용해서 보통 관리를 하는 편입니다. 그래야 자유도 높게 수정을 할 수 있고, 용량 관리에도 이점이 있기 때문입니다. 하지만 특정한 행동만 취하는 서비스나 잘 모르는 사람에게 전달할 때 한 줄만 커맨드에 입력하여 아주 간편하게 실행해볼 수 있게 하기 위해 docker 자체에 데이터와 소스, 환경을 다 넣어서 감싸기도 합니다. 

 

 

이번에 과제 결과물 제출을 위해 윗 문단의 후자처럼 잘 모르는 사람이 제 docker image를 커맨드 한 줄로 모든 것을 실행하게 만들기 위해 docker commit을 애용했습니다.

 

 

도커 커밋 사용법

# 도커 이미지 현황 확인
docker images

# 현재 활성화 중인 도커 확인
docker ps

 

도커 이미지 확인을 하면 이미지 현황이 보일 것이고, 

그림1. 도커 이미지 현황

 

도커 컨테이너 확인을 하면 현재 활성화된 컨테이너가 보입니다. 참고로 전체 컨테이너 현황은 docker ps -a 입니다. 실행시간이 안 맞는 점은 감안해주시기 바랍니다 ㅎㅎ..

그림2. 활성화된 컨테이너 현황

 

도커 이미지를 컨테이너로 활성화 시켜서 사용할텐데, 작업한 컨테이너를 종료하지 않고(컨테이너를 종료하면 작업사항이 다 날아갈 수 있습니다) 다음 명령어를 입력해 작업한 컨테이너를 이미지의 다음 버전으로 만듭니다.

docker commit <CONTAINER ID> <IMAGE_NAME:TAG>

# example
docker commit 593ba5e87818 image_name(그림1의 REPOSITORY 이름):v9

 

위 그림 예시에서의 컨테이너 ID로 example을 만들었습니다. 이렇게 해주면 그림1의 REPOSITORY와 같은 이름의 v9 TAG를 가진 이미지가 하나 더 만들어집니다. 그러면 v8은 이전 작업까지의 결과물을 갖고 있을 것이고, v9는 작업한 도커의 결과까지를 가지고 있을 것입니다

 

 

저는 도커로 감싸고 테스트를 하면 꼭 에러가 나더라구요... 그래서 또 커밋을 하고 또 감싸고를 몇 번 합니다. 좀 꼼꼼해져야겠습니다...😅

 

 

도움이 되셨다면 아무 광고나 클릭 한 번 부탁드립니다👍

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감과 광고 클릭 부탁드립니다~