Docker container에서 image 생성

잘 설정해 둔 container 우려먹기

개인적으로 Docker는 이것 저것 다양한 언어나 도구들을 시험하는 용도로도 많이 사용한다.

새로운 것을 보면 한 번 설치해 사용해 본 후 삭제하는 경우도 많은데, 흔적을 남기는 것을 극단적으로 싫어하는 성격 때문에 Docker를 애용한다. docker rm 한 방으로 깔끔해지니 얼마나 편한가.

하지만 새로운 container를 매번 Docker HubDocker Store에 있는 공식 image에서 만들면 기본적으로 설치하고 설정하는 작업을 반복해야 하기 때문에 여간 귀찮은 일이 아니다.

Dockerfile을 이용해 새로운 image를 만들 수 있지만 이 방식은 container를 생성한 후 하는 작업들을 하나하나 script 형식으로 입력하는 것이라 이 역시 귀찮다.

이 때 사용하는 방법이 바로 docker commit을 이용해 container를 바로 image로 만드는 것이다.

  1. 일단 container 하나를 잘 설정한다.
  2. docker commit을 이용해 1의 container를 image로 만든다.
  3. 두고 두고 우려먹는다.

docker commit 명령의 사용법은 다음과 같다.

$ docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
  • 개인적으로 사용하려면 OPTIONS는 굳이 설정할 필요가 없다.
  • CONTAINER는 이름이나 ID로 설정할 수 있다.
  • REPOSITORY를 지정하지 않으면 <none> image가 되니 적당한 이름을 넣도록 한다.
  • TAG는 넣지 않으면 latest가 된다.