-
도커프로그래밍/Docker 2023. 12. 31. 23:43
CICD. 더 나아가 쿠버네티스까지의 학습을 위해
패캠 강의를 구매하여 도커를 공부하기 시작했다.
첫 글은 도커의 기초를 작성하였다.
도커의 코어 5가지
1. 이미지
2. 컨테이너
3. 네트워크
4. 리소스 매니지먼트
5. 볼륨
컨테이너
어플리케이션을 언제든 실행 가능 하도록 필요한 요소를 하나의 런타임 환경으로
패키징한 논리적인 공간
어플리케이션과 필요 요소를 하나로 패키징하여 실행하게 만든
운영시스템을 가상화한 경량의 격리된 프로세스
-> microVM 이라고도 함
-> OS 수준의 가상화 제공
-> 독립성을 갖기 때문에 다른 컨테이너에 영향을 주지않는 stateless 환경
특징
1. 컨테이너는 최소한의 이미지를 통해 실행되므로 경량이다.
2. 어떤 환경에서든 동작가능하기에 이식성을 갖고 있다.
컨테이너의 타입
컨테이너 패키징 매커니즘
1. 시스템 컨테이너
- Host OS 위에 우분투와 같은 배포판 리눅스 이미지를 통해 배포되는 컨테이너
- 또 다른 VM의 형태. 내부에 다양한 어플리케이션이나 라이브러리 도구 설치 및 실행 가능
2. 어플리케이션 컨테이너 (사실상 메인)
- 단일 어플리케이션 실행을 위해 해당 서비스를 패키징하고 실행하도록 설계된 컨테이너
- 3 tier 어플리케이션의 경우 각 tier (FE, BE, DB) 를 개별 컨테이너로 실행하여 연결
3. 라우터 컨테이너
가상화 (virtualization)
- 서버, 스토리지, 네트워크, 어플리케이션 등을 가상화하여 하드웨어 리소스를 효율적으로 사용하는 것이 목적
이를 통해 기업은 효율적인 자원활용, 자동화된 IT관리, 빠른 복구가 가능컨테이너 가상화 vs VM 가상화
VM 가상화는 GuestOS (커널) 를 두는 하드웨어 수준의 가상화
컨테이너 가상화는 HostOS의 커널을 공유하는 OS수준의 가상화
출처 : 한 번에 끝내는 CI/CD의 모든 것: Docker부터 GitOps까지 를 보며 정리