01. 컨테이너란
가상화의 필요성
- PC에서 여러 소프트웨어를 실행시킬 경우 아래와 같은 문제들이 발생함
- OS 호환성 문제
- 라이브러리 의존성 문제
- 보안 문제
- 등등 ...
이런 문제를 해결하기 위해 가상화 라는 방법을 사용하여, 하나의 PC에서 각 소프트웨어의 독립적인 실행을 보장함
컨테이너는 이런 가상화 방법 중 한가지이다.
컨테이너 VS 가상머신
가상화 하면 가장 먼저 떠오르는 방법이 가상머신(Virtual Machine, VM) 을 사용하는 방법일 것이다.
그렇다면 가상머신과 컨테이너의 차이점에는 어떤 것이 있을까?
리소스 사용: 컨테이너는 OS 커널을 공유하여 더 가볍고 효율적임
- 격리 수준: VM은 완전한 OS를 포함하여 더 강력한 격리를 제공함
- 시작 시간: 컨테이너는 OS 부팅 과정이 없어 더 빠르게 시작됨
- 유연성: VM은 다양한 OS를 실행할 수 있어 더 유연함
위 그림처럼 가상머신의 경우 각각의 환경이 OS를 포함하고 있고, 컨테이너의 경우 호스트OS에 종속적이다.
때문에 컨테이너는 가상머신 대비, 더욱 빠르고 간편하며, 자원을 많이 차지하지 않는다는 장점이 있다.
02. 도커
도커는 컨테이너 기반의 오픈소스 소프트웨어이다.
도커를 사용했을 때, 아래와 같은 장점들이 있다.
- 독립된 배포 및 개발 환경 보장
- 개발, 배포 환경의 통합 및 손쉬운 배포
도커를 이용하면, 개발 환경에서의 Container를 그대로 배포 환경에 이식할 수 있기 때문에 손쉽게 배포할 수 있다. - 빠른 속도 및 적은 자원 차지
'Back End > 서버 지식' 카테고리의 다른 글
IP 주소와 서브넷 마스크 개념 (3) | 2024.10.10 |
---|---|
[CI/CD] CI/CD 개념과 GitHub Actions 기초(1) (5) | 2024.10.03 |
SSH의 개념과 통신 과정 (0) | 2024.09.21 |
대칭키와 비대칭키 (0) | 2024.09.21 |