Docker 이미지와 컨테이너
Docker의 이미지와 컨테이너는 Docker를 구성하는 핵심 요소로, 컨테이너 기반의 애플리케이션 개발 및 배포에 있어 매우 중요한 역할을 한다. 이 두 요소를 이해하면 Docker의 작동 원리와 장점을 명확히 파악할 수 있다.
이미지(Image)
Docker 이미지는 컨테이너 실행을 위한 설정을 모아 놓은 읽기 전용 템플릿이다. 이미지에는 애플리케이션을 실행하는 데 필요한 모든 요소들이 포함되어 있다. 예를 들어 코드, 런타임, 라이브러리, 환경 변수 등이 포함되어 있다.
이미지의 주요 특징
1. 불변성: 이미지는 읽기 전용으로 설계되어 있어 실행 중 변경되지 않아 환경을 표준화하는 데 유용합니다.
2. 레이어 구조: 이미지는 여러 레이어(layer)로 구성되며, 변경 사항은 새로운 레이어로 추가된다. 각 레이어는 캐싱이 일어나며, 변경된 레이어의 하위 레이어만 다시 실행하는 방식으로 이미지 빌드 속도가 향상된다.
컨테이너(Container)
컨테이너는 이미지를 기반으로 실행되는 독립된 애플리케이션 환경이다. 컨테이너는 애플리케이션을 실행을 위한 환경을 구성해 실행하며, 실제 기기에 설치된 환경과는 완전히 격리된 상태로 실행된다. 하나의 이미지로 여러 컨테이너를 실행할 수 있다.
컨테이너의 주요 특징
1. 격리성: 각 컨테이너는 독립적인 환경에서 실행되므로, 서로 다른 애플리케이션이 충돌 없이 실행되도록 한다.
2. 가벼움: 컨테이너는 가상 머신보다 훨씬 적은 리소스를 사용한다.
3. 유연성: 하나의 이미지를 기반으로 여러 컨테이너를 실행할 수 있어 확장성과 테스트 환경 구축이 용이하다.
반응형
'Docker' 카테고리의 다른 글
[Docker] 명령어로 컨테이너 목록 확인하고 중지하기 (0) | 2025.01.22 |
---|---|
[Docker] Dockerfile 사용해 스프링 애플리케이션 이미지 만들고 컨테이너 실행해보기 (0) | 2025.01.21 |
Docker란 무엇이고 왜 사용할까? Docker와 가상 머신의 차이점 완벽 정리 (0) | 2025.01.19 |