본문 바로가기
CI | CD

[Docker] 도커 이미지 생성 및 저장하기 - 이론편

by ♡˖GYURI˖♡ 2024. 7. 11.
728x90

 

위 영상을 바탕으로 정리한 글입니다!

 

 

도커 이미지 생성하기

똑같은 이미지에 설정을 추가하여 컨테이너를 가동해도 되지만, 매번 같은 설정을 사용하고 있다면 그 설정을 가지고 있는 이미지를 생성하여 사용할 수 있음

 

주로 이미지를 생성하는 경우

  • 특정 이미지에 자주 사용하는 설정을 추가하여 편하게 사용하고 싶을 경우
  • 본인이 개발한 애플리케이션을 이미지로 생성하고 싶을 경우

 

컨테이너로 이미지 생성하기

1. 준비된 컨테이너를 이미지로 변경하기

아래 그림과 같이 설정이 반영되어 있는 컨테이너를 그대로 이미지로 생성

이 작업을 수행하기 위해서는 컨테이너가 있는 상황에서 아래의 커맨드를 입력

  • container_name : 이미지로 만들고자 하는 컨테이너의 이름
  • image_name : 생성할 이미지의 이름
docker commit {container_name} {image_name}

 

 

2. Dockerfile 사용하기

Dockerfile에 추가하고자 하는 설정을 반영하고 그 파일로 이미지를 빌드

docker build ${option} %{dockerfile directory}

 

 

[Docker] 도커파일(Dockerfile) 작성하기 - 실습편

위 영상을 바탕으로 정리한 글입니다!    Dockerfile 코드FROM httpdCOPY index.html /usr/local/apache2/htdocs/  index.html 코드 Around Hub Studio Present 어라운드 허브 스튜디오 Flature 입니다.   docker build -t test123 .

newbie-in-softengineering.tistory.com

 

 

이렇게 생성된 이미지는 파일로 저장할 수 있음

많이 사용하지 않지만, 대체로 운영서버에서 이미지를 사용해야 할 때 종종 사용되기도 함

 

 

2가지 방법

  • save/load 커맨드
  • export/import 커맨드

 

save/load 커맨드

save를 이용한 이미지 저장은 원본 이미지와 레이어를 동일하게 가져가는 형식으로 동작함

  • save
    • 도커 이미지를 tar 파일로 추출
    • docker save -o test123.tar test123:latest
  • load
    • 추출된 tar 파일을 이미지로 불러옴
    • docker load -i test123.tar

 

export/import 커맨드

export를 이용한 이미지 저장은 원본 이미지와 다르게 하나의 레이어로 통합되어 추출됨

이렇게 추출된 이미지는 다시 컨테이너로 가동하기 위해서는 별도의 작업이 필요함

  • export
    • 도커 컨테이너를 tar 파일로 추출
    • docker export test123 > test123.tar
  • import
    • 추출된 tar 파일을 이미지로 불러옴
    • docker import test123.tar test123:version