본문 바로가기
인프라

[Docker] 도커 컨테이너(Docker Container)와 이미지란?

by 유일리 2024. 1. 11.
도커(Docker)란?

도커는 개발자가 컨테이너화된 애플리케이션을 빠르게 빌드, 테스트 및 배포할 수 있게 해주는 소프트웨어 플랫폼이다. 

도커 컨테이너

 

컨테이너를 사용하면 개발자가 소프트웨어를 패키징하여 모든 대상 시스템에서 실행할 수 있다. 쉽게 말해서,  컨테이너는 이미지를 실행한 상태를 말한다. 도커 컨테이너는 도커 엔진이 설치된 모든 머신 또는 가상 머신에서 실행된다.  

 

도커 이미지

 

도커 이미지는 소스 코드, 라이브러리, 도구 및 응용 프로그램을 실행하는데 필요한 기타 파일을 포함하는 실행 파일이다. 하나의 베이스 이미지에서 도커 이미지를 무제한으로 생성할 수 있다. 또한 하나의 이미지는 여러 컨테이너를 생성할 수 있고, 컨테이너가 삭제되더라도 이미지는 변하지 않고 그대로 남아 있는다.

 

 

도커의 동작 흐름은 다음과 같다.

1. Dockerfile(도커에서 이미지를 생성하기 위한 용도로 작성하는 파일) 파일로 도커 이미지를 만든다. Dockerfile에는 소스와 함께 의존성 패키지 등 사용했던 설정 파일을 버전 관리하기 쉽도록 명시해준다. 즉, Dockerfile을 사용하여 도커 이미지를 빌드한다. 

 

2. 이미지를 Docker Hub(Docker Registry)에 푸시하여 공유 또는 원격 서버에서 사용할 수 있도록 한다. 이때, 이미지는 기본적으로 이미지 이름과 태그로 구성되어 있으며, 태그는 버전을 기입하는 용도로 쓰인다. 태그는 이미지를 빌드할 때 붙일 수 있으며, 빌드 이후에 수정 가능하다.

 

3. 빌드한 이미지를 사용하여 도커 컨테이너를 실행한다. (포트 매핑, 환경 변수 설정 등이 필요한 경우 이 단계에서 설정한다.) 내가 만든 이미지 이외에도 다른 누군가가 빌드해서 public repository 저장소에 push해서 올린 이미지를 pull해서 가져올 수 있다.

 

다음 시간에는 직접 코드를 실행해보도록 하겠다.

댓글