본문 바로가기
IT 놀이터/Linux

Docker 에 대한 이해

by 돼지왕 왕돼지 2017. 6. 8.
반응형

 Docker 에 대한 이해


http://bcho.tistory.com/805


-

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 이미지들을 제공한다.





반응형

댓글