만자의 개발일지

[Docker] 컨테이너로 이미지 만들기 본문

Docker

[Docker] 컨테이너로 이미지 만들기

박만자 2022. 2. 24. 14:23

도커 컨테이너는 이미지를 기반으로 실행됩니다. 그리고 보통의 도커 이미지는 Dockerfile을 빌드함으로써 만들 수 있죠.

하지만 도커 이미지를 만드는 방법이 한 가지 더 존재합니다. 바로 컨테이너를 이용해 만드는 방법이죠.

어떻게 컨테이너로 이미지를 만드는지 알아보도록 하겠습니다.

 

컨테이너로 이미지 생성

여기 test라는 도커 이미지가 있습니다.

$ docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
test         latest    83f310aba04a   3 hours ago   910MB

 

해당 이미지를 가지고 컨테이너를 실행시켜 주도록 하겠습니다.

$ docker run --name test-container test

 

다음 명령어를 통해 컨테이너가 실행되고 있는지 확인할 수 있습니다.

$ docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS      NAMES
8bd39093b5cf   test      "docker-entrypoint.s…"   55 seconds ago   Up 58 seconds   3000/tcp   test-container

 

이제 실행중인 컨테이너를 가지고 이미지를 만들어 보도록 하겠습니다.

컨테이너로 이미지를 만드는 명령어로 docker commit 명령어를 사용합니다.

$ docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

먼저 커밋 옵션을 지정하고 커밋할 컨테이너의 이름을 명시한 뒤 생성될 이미지의 이름을 입력합니다.

 

다음 명령어로 컨테이너를 이미지로 생성해 줍니다.

-a(author) 옵션은 이미지의 작성자를  나타내는 메타데이터를 이미지에 포함시킵니다. -m 옵션은 커밋 메세지를 지정할 수 있습니다.

$ docker commit -a "manja" -m "commit test" test-container commit_test:latest

 

docker images 명령어로 이미지가 잘 생성된 것을 확인할 수 있습니다.

$ docker images
REPOSITORY    TAG       IMAGE ID       CREATED                  SIZE
commit_test   latest    f86758c3c589   Less than a second ago   910MB
test          latest    83f310aba04a   3 hours ago              910MB
Comments