Docker 에 대한 이해
-
Docker 는 Linux 기반 & Container 기반 Runtime Open Source 이다.
VM 과 비슷하면서 다르다.
-
VM 은.. Host OS 가 깔리고 그 위에 Hypervisor (VMWare, KVM, Xen 등 ) 가 깔리고, 그 위에 VM 이 만들어지는 구조이다.
VM 은 x86 하드웨어를 가상화 한 것.
다양한 종류의 OS 설치 가능
-
Docker 도 VM 처럼 Docker Engine 이 Host OS 위에서 수행된다.
VM 대신 Container 들이 생기는 구조인데, 이 Container 들은 Linux 기반의 OS만 수행 가능하다.
Hardware 를 가상화 해주는 것이 아니라, Guest OS(Container)를 isolation 해준다.
이 말은 Container 자체는 Kernel 등의 OS 이미지가 없이 Host OS 를 그대로 사용하며,
만약 Host OS 와 Container 의 OS 가 다르다면, 다른 부분만 Container 내에 같이 Packing 된다.
실제 명령어의 수행은 Host OS 에서 수행된다. Process 를 공유한다는 것!
-
Docker container 는 Host process 를 공유해서 사용하긴 하지만, 역시 한 다리 건너서 뭔가 수행하기 때문에 Performance 감소가 있다.
하지만 Performance 감소는 그렇게 심하지 않다.
-
Docker 는 Container Image 를 중앙저장소(Repository, Docker Hub)에 저장했다가 다른 환경에서 가져다 사용할 수 있다.
Container 에는 모든 Application, 설치 파일, 환경 설정 정보 등이 들어가 있어 쉽게 같은 개발환경을 가져갈 수 있다.
-
Container Image 를 Packing 하기 위해서 Docker 는 Base Image 와 Docker File 이라는 두 가지 컨셉 이용.
Docker File 은 기본 인스톨 이미지와 추가 설치되는 스크립트를 정의한다.
-
Docker 는 Prebuilt 이미지들을 제공한다.
'IT 놀이터 > Linux' 카테고리의 다른 글
[vi] shortcut for undo and redo (0) | 2017.07.05 |
---|---|
[vi] shortcut for moving to the end of the line and the first char of the line (0) | 2017.07.04 |
[Server구축/Tutorial] 권한 설정 (0) | 2017.06.04 |
[Server구축/Tutorial] MySQL 설치 (0) | 2017.06.03 |
[Server구축/Tutorial] 계정 생성 (0) | 2017.05.28 |
댓글