728x90
1. Container
1.1. 컨테이너란?
❓ 실행 환경에 독립적으로 애플리케이션을 실행하는 기술
- 운영체계 수준의 격리 기술
- 애플리케이션 구동에 필요한 라이브러리, 종속 항목을 패키징
- 장점
- 가벼움 : VM과 달리 Guest OS가 없어 크기가 작음
- 탄력성 : 리눅스, 윈도우, 가상머신 등 어느 환경에서나 구동 가능
- 유지 관리 효율
- : 운영 체제 커널이 하나 → OS 수준 업데이트 / 패치를 한 번만 수행하여 모든 컨테이너에 적용 가능
1.2. 컨테이너와 가상머신(VM)의 차이
- 컨테이너 (Container)
- 하나의 Host OS
- 그 위에서 각각의 독립적인 프로그램처럼 관리 및 실행
- 확장성이 좋고 빠름
- 불필요한 OS 만들기 및 인프라 독립적으로 나눌 필요 없음
- 하나의 Host OS
- 가상머신 (Virtual Machine)
- 각 VM에 독립적인 Guest OS
- 독립적인 플랫폼 증가 시 OS 만드는 불필요한 작업 필요
- HyperVisor : 컴퓨터의 인프라 리소스를 VM별로 배분하는 역할
- 각 VM에 독립적인 Guest OS
2. Docker
- 컨테이너 기반의 오픈소스 가상화 플랫폼 중 하나
- 인프라에서 애플리케이션을 분리하여 컨테이너로 추상화, 소프트웨어를 빠르게 제공 가능
- BE 프로그램, DB 서버, 메시지 큐 등 어떤 프로그램도 컨테이너로 추상화 가능
- 조립 PC, AWS, Azure 등 어디서든 실행 가능
- 컨테이너의 라이프사이클 관리
- 애플리케이션을 오케스트레이션(Work flow의 자동화)된 서비스로 배포 가능
2.1. 도커의 아키텍쳐
- 클라이언트-서버 구조
- 도커 클라이언트-도커 데몬이 REST API를 사용하여 통신
- Docker Demon : Docker API 요청 수신, 이미지, 컨테이너, 네트워크 등의 도커 객체 및 도커 서비스 관리
- Docker Client : Docker 사용자가 Docker와 상호작용하기 위한 방법
- 기본적인 도커 명령어를 통해 Docker Demon과 통신
- Docker Registry : Docker 이미지를 저장
- 공용 레지스트리 (Docker hub, 일반적 사용) / 개인 Private 레지스트리
docker pull, docker run : 사용하면 필수 이미지 가져온다 docker push : 레지스트리에 저장
- Docker 객체
- Docker Images : 컨테이너 실행에 필요한 파일과 설정값 등을 포함
- Container : 도커 이미지의 실행 가능한 인스턴스
docker run : 이를 통해 실행 컨테이너의 실행이 가능하다
📌 References
https://velog.io/@geunwoobaek/컨테이너-및-도커-개념정리
컨테이너 및 도커 개념정리
소프트웨어는 OS와 라이브러리에 의존성을 뛴다. 그러므로 하나의 컴퓨터에서 성격이 다른(OS,라이브러리 버전이 다른) 소프트웨어를 한번에 실행할 때 어려움을 가질 수 있고 관련된 구성을 관
velog.io
https://nearhome.tistory.com/83
[쿠버네티스] 컨테이너가 뭐에요? (컨테이너의 기본 개념, 컨테이너 란?)
들어가며: 컨테이너가 뭐에요? 왜 컨테이너라고 부르죠? 컨테이너의 장점 컨테이너 아키텍처 도커 컨테이너 왜 (도커) 컨테이너를 써야하나요? 들어가며 : 컨테이너(container)가 뭐에요? 대충말하
nearhome.tistory.com
728x90
'DevOps' 카테고리의 다른 글
[DevOps] 오픈시프트(OpenShift)와 쿠버네티스(Kubernetes) (0) | 2025.06.04 |
---|---|
[DevOps] Jenkins란? (1) | 2025.06.04 |
[DevOps] CI/CD란? (0) | 2025.06.04 |