Infra/Docker, Kubernetes

[Docker] 도커 이미지, 컨테이너, 도커 파일

Kangjieun11 2025. 1. 28. 17:25
728x90

 

 

이전글

https://jie0025.tistory.com/662

 

 

 


 

간단한 설명부터 하고 디테일하게 넘어가보자. 

 

 

 도커 이미지

컨테이너 실행에 필요한 파일과 설정값을 포함하고 있는것

상태값을 가지지 않고, 변하지 않는다.

 

 

⏺ 도커 컨테이너

이미지를 실행한 상태

-> 추가되거나 변하는 값은 컨테이너에 저장된다.

 

 

 

같은 이미지를 통해 여러개의 컨테이너를 생성할 수 있고

컨테이너의 상태가 변경되어도 이미지는 변하지 않는다. 

 

 

아래 그림을 보자. 

MySQL  워드프레스 두개로 웹페이지를 구성해야한다. 

요청이 많을 것을 예상하여 3개정도 환경을 구성하고 싶다. 

 

도커가 없으면 피씨 3대 혹은 가상머신에 각각 MYSQL/워드프레스를 설치하고, 포트번호나 의존성을 모두 추가해주어야 했겠지만...

 

1.  도커이미지를 통해   MYSQL  WORKDPRESS 관련 설정, 파일, 의존성을 모두 정의해두고,

2. 도커 이미지로 컨테이너를 생성하면 >> 3개의 동일한 구성을 바로 만들수 있게 되는 것이다!

 

 

 


 

 

✅  이미지

 

우분투 이미지 : 우분투리눅스를 실행하기 위한 모든 파일을 갖고 있다. 

깃랩이미지 : ruby, go, db, redis, gitlab, source, nginx mddmf rkwrhdlTek. 

 

이미지는 컨테이너를 실행하기 위한 모든 정보를 갖고 있어 

더이상 의존성 파일을 컴파일하거나 설치할 필요가 없다. 

 

새로운 서버가 추가되면 이미지를 다운받아 컨테이너를 생성만 해주면 된다. 

 

 

 

도커 이미지는       

- 도커 허브  https://hub.docker.com/

- 도커 레지스토리 저장소 https://docs.docker.com/registry/

에서  관리할 수 있다. 

 

 

 

✅  도커 컨테이너

컨테이너라는 개별 실행환경  > 소프트웨어 실행을 독립적으로 운용할 수 있는 기반 환경

 

 

Host OS 위에서 하나의 독립적인 공간으로 관리되고 실행되지만

인프라나 OS를 독립적으로 나눌 필요가 없어  확장성이 좋고, 빠르다

 

 

✅  도커파일

도커이미지를 만들기 위한 설정 파일

 

여러가지 명령어를 토대로 도커 파일을 작성하면

설정된 내용으로 도커 이미지가 만들어진다. 

 

 

 

Dockerfile을 작성한 후 빌드하면

Docker는 Dockerfile에 나열된 명령문을 차례대로 수행하며 DockerImage를 생성한다.

 

>> 도커파일을 읽을 수 있으면 이미지가 어떻게 구성되어있는지 알수 있다는 의미가 된다.