컨테이너
컨테이너
- 소프트웨어 애플리케이션의 가상화를 지원하는 시스템
- 애플리케이션의 관점에서는 가상환경에서 작동하는 것과 같지만
OS의 관점에서는 컨테이너는 프로세스로 작동하기 때문에
하드웨어 가상화까지 필요한 가상머신과 달리 가볍고 실행과 종료가 빠름
가상머신과의 차이
- 가상머신
: 컴퓨팅 인프라(하드웨어 / OS)의 가상화를 지원
: 하드웨어에 대해 논리적으로 가상화를 하고 OS를 통째로 올림 (무거움)
- 컨테이너
: 운영체제 내에서 소프트웨어의 가상화를 지원
: 컨테이너 런타임 위에 OS없이 응용프로그램을 올림 (가벼움)
=> 사용할 프로그램에 대해서만 가상화를 하는 개념
컨테이너의 종류
- 시스템 컨테이너
: 컨테이너 기술을 이용하여 운영체제 내에서 하드웨어 가상화 없이 운영체제를 실행 (LXC, LXD)
- 애플리케이션 컨테이너
: 컨테이너 기술을 이용하여 하나의 애플리케이션을 실행 (Docker)
: 단 하나의 프로세스만 실행하는 것이 원칙
컨테이너의 장점
- 프로그램을 실행하는 것 처럼 작동되므로 실행속도가 빠르며 리소스 차지가 덜함
- 독립적인 환경에서 실행되기 때문에 실행 환경을 쉽게 공유하고 재사용할 수 있음
- 각기 다른 컨테이너에 애플리케이션 구성요소를 분리함으로써 전체 애플리케이션에 대한 재작업 없이
개별 구성 요소들을 업데이트 할 수 있음
컨테이너 툴
- Docker
: 컨테이너 표준
: 다양한 OS에서 작동하는 개발환경 구현을 위한 애플리케이션 컨테이너
: 자체 라이브러리인 libcontainer를 이용하여 컨테이너 구현
: 장점
ㆍ컨테이너 당 하나의 응용프로그램 사용을 권장하여 이를통한 재사용성 향상
ㆍ보안 및 격리 관점의 유연성
ㆍ업데이트시 불간섭
ㆍMSA구성에 있어 효율적
ㆍ구축된 환경에 대해 이미지 파일로 백업 가능
=> 컨테이너를 이미지화 시킴으로써 오류 발생시 복원 가능
- LXC
: 리눅스 컨테이너 기능을 위한 플랫폼
: 가상머신을 사용할 필요 없이 리눅스 환경에서 컨테이너 기능 수행
: 한 컨테이너에 여러개의 응용프로그램 실행
- Rkt (로켓 컨테이너)
: CoreOS에 의해 제작된 앱 컨테이너 툴
: 도커 컨테이너 처리와 이미지 구축 등 제공
참조
[1]
Linux) Doker와 Container의 탄생과 설명, 차이점
※이 글은 제가 인터넷으로 공부한걸 바탕으로 작성된 글입니다. 잘못된 내용이나 보충해야할 내용이 있으면 댓글이나 E-mail로 피드백 해주시면 감사하겠습니다. What is Docker? 도커는 리눅스의
hwan-shell.tistory.com
[2]
FAQ : 컨테이너의 이해를 돕는 10가지 질문
도커(docker)는 지난 2년간 폭발적으로 성장하면서 그 어느 때보다도 IT 업계에 생기를 불어넣고 있다. 도커가 제공하는 애플리케이션 컨테이너 기술은 몇 년 전 가상화 기술이 했던 것처럼 IT 운영
www.itworld.co.kr
[3]
도커와 컨테이너 제대로 알기 – ACCORDION
도커(docker) 컨테이너 기술이 흐름으로 받아지면서 도커 기술에 대한 관심이 갈수록 커지고 있다. 도커에 대해 많이 들어봤으나 모르고 지나칠 수 있는 부분과 혼동하기 쉬운 부분에 대해 정리
accordions.co.kr
'Devops > DevOps' 카테고리의 다른 글
[데브옵스 개발자 로드맵 2020] 인프라 관리, 환경 구성 관리 (0) | 2021.01.30 |
---|---|
[데브옵스 개발자 로드맵 2020] 컨테이너 오케스트레이션 (0) | 2021.01.29 |
[데브옵스 개발자 로드맵 2020] CI/CD (0) | 2021.01.29 |
[데브옵스 개발자 로드맵 2020] 데브옵스 툴체인과 과정, 데브옵스 툴 (0) | 2021.01.23 |
[데브옵스 개발자 로드맵 2020] GIT의 개념 (0) | 2021.01.22 |