본문 바로가기
학교 공부/시스템

[도커 #2] 도커 이미지(docker image)란?

by 그적 2021. 7. 28.

(제가 이해한 내용을 바탕으로 작성하였습니다. 잘못된 부분이 있을 경우에는 댓글 남겨주세요.)

 

"도커(docker)"를 생각하면 이미지와 컨테이너를 떠올리도록 하자. 도커 이미지를 떠올리면 layer 저장 방식을 사용한 것까지 떠올리면 좋을 텐데 일단 먼저 도커 이미지가 뭔지 알아야 할 테니 글을 보면서 이해할 수 있도록 해보자.


Docker Image(도커 이미지)란?

: "이미지 = 설정 파일"

정의를 알아보기보다는 도커 사용을 먼저 설명하려고 한다. 우리가 우분투 서버에 APM을 구축하려고 할 때 우분투가 여러 대 존재하면 각각의 우분투에다가 apache 설치하고, php 설치하고, mysql 설치하고 연동해야 한다. 하지만 커를 사용하면 apache 이미지를 한번 다운로드하고, php와 mysql도 한 번씩 이미지만 갖고 와서 하나의 컨테이너만 만들면 그 만든 컨테이너 하나로 여러 개의 도커를 생성할 수 있다.

출처 : https://cultivo-hy.github.io/docker/image/usage/2019/03/14/Docker%EC%A0%95%EB%A6%AC/

 

위의 사진을 보면 각각이 레이어 방식으로 쌓여있고, 두 번째 nginx layer까지 쌓은 이미지를, 다른 버전의 nginx를 사용하고 싶을 때 이전까지 쌓은 기존의 ubuntu라는 이미지를 갖고 와서 새로운 nginx를 쌓아주면 된다. VMware를 사용할 때 OS를 새로 구축해야 한다는 시간비용이 줄어들고 이미지도 금방 다운로드할 수 있다.

("layer + layer + layer => image"로 사진에는 나와있는데, 그냥 nginx, web app source 각각이 이미지로 불리는 것 같다.)

 

도커 이미지(Docker Image) 특징

- 이미지는 컨테이너 실행에 필요한 파일과 설정값 등을 포함하고 있는 것으로 변하지 않는다.

- 이미지에 데이터가 쓰이는 것은 아니다.  -> Immutable(불변적)이다.

- 이미지를 다운로드할 때 개인이 git에 올려둔 것을 사용해도 되고, 이미지 경로(url)를 안 적으면 docker.org에 있는 서버로 연결된다.

- 최상위 layer에만 읽기 쓰기가 가능하다.


댓글