Docker image와 container란?

OH JU HYEON·2022년 8월 10일
1

Docker

목록 보기
1/8
post-thumbnail

Docker image와 container란?

Docker image and container

이전에 도커와 쿠버네티스에 대해 공부를 했지만 프로젝트를 만들 때 사용하지 않아 까먹은 부분이 많이 있다. 이번에 다시 공부를 하면서 기존에 공부한 내용을 상기시켜본다.

시작하기 전에 먼저 도커 엔진에 대해 체크해 본다. 도커는 이미지와 컨테이너라는 기본 단위를 사용하는데 이 두 가지가 도커 엔진의 핵심이라고 할 수 있다.

Docker images

1. 도커 이미지란?

도커 이미지는 컨테이너를 생성할 때 사용하는 필수 요소이다. 예를 들면 ubuntu를 vm에 설치할 때 사용하는 iso 파일이라고 생각하면 된다.

이미지는 바이너리 파일로 존재하며 컨테이너를 생성하고 실행할 때 읽기 전용으로 사용되고 도커 명령어로 내려받을 수 있기 때문에 iso 파일 처럼 따로 다운로드 할 필요는 없다.

2. 도커 이미지 구성

도커 이미지는 저장소/이미지 이름:태그로 구성이 된다. 예를 들면 이번에 ubuntu 20.04 버전을 도커에 설치해 봤는데 그때 ubuntu:20.04로 ubuntu 20.04 버전을 명시해 주었다. 물론 앞에 몇 가지 명령어가 추가되지만 일단 이미지와 태그를 이렇게 사용한다 정도로 체크해 보면 될 것 같다.

3. 저장소, 이미지 이름, 태그

도커 이미지 구성 요소의 각 역할은 다음과 같다.

  • 저장소 : 간단하게 이미지가 저장된 저장소이다. 다만 저장소 이름을 명시하지 않은 경우에는 도커에서 기본적으로 제공하는 Docker Hub의 공식 이미지를 가져온다.

  • 이미지 이름 : 이미지가 어떤 역할을 하는지 나타내는데 위에서 ubuntu:20.04를 봤을 때 이 이미지가 ubuntu임을 나타낸다. 이미지 이름은 저장소처럼 생략할 수 없고 필수로 적어줘야 한다.

  • 태그 : 이미지의 버전 관리에 사용된다. ubuntu:20.04에서 뒤에 20.04에 해당하는 부분이다. 이미지 버전을 나타낸다. 이때 태그를 생략하게 되면 도커는 최신 버전을 가져온다.

Docker container

1. 도커 컨테이너란?

도커 컨테이너는 위에서 체크한 도커 이미지로 컨테이너를 생성하면 파일시스템과 격리된 시스템 자원이나 네트워크를 사용할 수 있는 독립된 공간이 생기게 되는데 이것을 도커 컨테이너라고 한다.

도커 이미지로 컨테이너를 만들고 우리는 이 컨테이너를 사용해 외부에 웹 서비스를 제공하는데 사용하는 것이라고 보면 된다.

이때 이미지는 컨테이너를 만들고 연관이 없어지며, 컨테이너는 컨테이너 계층에 변경 사항을 저장하기 때문에 컨테이너에서 어떤 변경이 이루어지더라도 이미지는 영향을 받지 않는다.

또, 컨테이너는 독립된 파일 시스템을 제공 받아 호스트와 분리되어 있어 특정 컨테이너에 어떤 애플리케이션을 설치하거나 삭제해도 다른 컨테이너와 호스트는 변화가 없다.

쉽게 말해 이미지로 생성한 컨테이너는 독립적으로 사용되고 변경 사항을 저장하므로 다른 컨테이너의 변경과 본래 이미지의 본경을 걱정할 필요가 없는 것이다.

profile
읽기만 해도 이해가 되는 글을 쓰기 위해 노력합니다.

0개의 댓글