반응형
Docker란?
도커는 컨테이너 기반의 오픈소스 가상화 플랫폼이다.
다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해준다.
기존의 가상 머신(VM)과 컨테이너의 차이점
- 가상머신은 Host OS 위에 가상화를 시키기 위해서 Hypervisor 엔진 위에 각각의 Guest OS가 설치된 VM을 구동하기 때문에 무겁고 느리다
- 컨테이너는 Docker Engine 위에 컨테이너를 올려서 Host의 커널을 공유하기 때문에 훨씬 작은 단위로 업무를 수행할 수 있다
- 가상머신의 크기는 최소 몇 GB이지만, 컨테이너의 경우 Guest OS가 없기에 MB단위의 크기를 가진다
- 컨테이너는 Linux, Windows, 가상머신, Local PC, Data Center, Public Cloud 등 어느 환경에서나 구동 되므로 개발 및 배포가 크게 쉬워진다
Docker Container
컨테이너(Container)는 개별 Software의 실행에 필요한 실행환경을 독립적으로 운용할 수 있도록 기반환경 또는 다른 실행환경과의 간섭을 막고 실행의 독립성을 확보해주는 운영체계 수준의 격리 기술을 말한다. 컨테이너는 애플리케이션을 실제 구동 환경으로부터 추상화할 수 있는 논리 패키징 메커니즘을 제공한다.
Docker Image
Docker Image란 컨테이너를 실행할 수 있는 실행파일, 설정 값 들을 가지고 있는 것이라고 생각 하면 된다.
그림과 같이 Image를 컨테이너에 담고 실행을 시킨다면 해당 프로세스가 동작하게 되는 것이다.
도커 파일을 빌드하여 도커 이미지를 만들고 이미지를 사용하여 도커 컨테이너를 만든다.
Kubernetes란?
도커는 '한 개의 컨테이너'를 관리하는 데 최적화되어있고, 쿠버네티스는 '여러 개의 컨테이너'를 서비스 단위로 관리하는 데 최적화되어있다. 쿠버네티스는 '컨테이너 오케스트레이션 툴' 이다. 오케스트레이션 엔진을 통해 컨테이너의 생성과 소멸, 시작 및 중단 시점 제어, 스케줄링, 로드 밸런싱, 클러스터링 등 컨테이너로 어플리케이션을 구성하는 모든 과정을 관리할 수 있다.
참고
cultivo-hy.github.io/docker/image/usage/2019/03/14/Docker%EC%A0%95%EB%A6%AC/
반응형
'DevOps > Docker' 카테고리의 다른 글
Docker로 ubuntu, apache, php 환경의 이미지 만들기 (0) | 2021.07.15 |
---|---|
[docker] Failed to get D-Bus connection 에러 해결 (0) | 2021.05.29 |
도커 이미지 레이어(Docker Image Layer) (0) | 2021.05.10 |
docker run 명령어 사용법, 옵션 (1) | 2021.05.08 |
도커 기본 명령어 정리 (0) | 2021.05.08 |