Docker
Container 기반의 오픈소스 가상화 플랫폼
다양한 프로그램, 실행환경을 container로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해 줌
컨테이너는 이미지를 실행한 상태라고 볼 수 있고, 추가되거나 변하는 값은 컨테이너에 저장됨
같은 이미지에서 여러개의 컨테이너 생성할 수 있고 컨테이너가 삭제되더라도 이미지는 그대로 남아있음
Docker는 완전히 새로운 기술이 아니라 이미 존재하는 기술을 잘 포장했다고 볼 수 있음
※ Container
격리된 공간에서 프로세스가 동작하는 기술(가상화 기술)
※ 기존의 가상화 방식
- OS 가상화 (ex. VMware, VirtualBox)
- 비교적 사용법이 간단
- 무겁고 느리다는 단점
※ 개선된 가상화 방식
- 전체 OS를 가상화 하는 것이 아님, 게스트 OS가 필요
- CPU의 가상화 기술(HVM)을 이용한 KVM(Kernel-based Virtual Mahcine)
- 반가상화(Paravirtualization)방식의 Xen
※ 이미지
컨테이너 실행에 필요한 파일과 설정값, 등을 포함하고 있는 것
ubuntu 이미지 : ubuntu를 실행하기 위한 모든 파일을 가지고 있음
MySQL 이미지 : debian을 기반으로 MySQL을 실행하는 데 필요한 파일과 실행 명령어, 포트 정보, 등을 가지고 있음
Docker 이미지 : Docker hub에 등록하거나 Docker Registry 저장소를 직접 만들어 관리 할 수 있음
참고 : https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html
'Computer Science > linux' 카테고리의 다른 글
[Linux] Docker 명령어를 통해 컨테이너 생성 및 실행하기 (0) | 2020.08.28 |
---|---|
[Linux] docker에서 발생한 vim 문제 (0) | 2020.08.28 |
[Linux] Docker toolbox 설치 및 환경 구성 (0) | 2020.08.27 |
virtual box설치 및 Ubuntu(우분투) 설치하기 (0) | 2020.07.03 |
윈도우10에서 리눅스(우분투) 설치하기 (0) | 2020.07.03 |