[Dictionary for FT_SERVER] [0]
What is Docker and Container?
도커란 뭐고 컨테이너는 뭘까?
2020. 12. 23 kkim
목차 Index
[0] Basic Information 기본 지식
[0.1] What is OS, and what is Kernel? OS란 뭐고, Kernel은 뭘까?
[0.2] VM - Vertual Machine - 가상 머신
[1] Container 컨테이너
[2] References 참조
[0] Basic Information 기본 지식
[0.1] What is OS, and what is Kernel? OS란 뭐고, Kernel은 뭘까?
1) Definition of OS / OS의 정의 : Wikipedia
OS(Operation System)(Wiki) is a kind of system software that manage HW, SW Resources.
OS provides services(HW abstraction platform(Wiki) and common system service) for application SW
OS(운영 체제)(Wiki)는 시스템 소프트웨어의 한 종류로, 하드웨어와 소프트웨어 자원을 관리합니다.
OS는 응용 프로그램을 실행시키기 위해 하드웨어 추상화 플랫폼(Wiki)과 공통 시스템 서비스를 제공합니다.
2) about Kernel / 커널에 관하여 : Wikipedia
Kernel(Wiki) is a main control system in OS.
Kernel controls over everything in system.
If a user inputs information(orders) to OS, OS transfer this to Kernel, and the each Kernel controls HW.
커널(Wiki)은 OS의 메인 컨트롤 시스템입니다. 시스템의 모든 것을 통제하죠.
유저가 정보(명령)를 OS에 입력한다면, OS는 이를 커널에 전송하고, 각각의 커널들은 하드웨어를 조작합니다.
3) VM / OS의 정의 : Wikipedia
VM(Virtual Machine)(Wiki) is a emulation* of a physical computer system.
We can install and execute programs in VM.
- HOW THEY WORK?
We need to create Virtual HW(Disk, Network Interface, CPU, etc).
The special SW called HYPERVISOR do this job.(doesn't it sounds cool? HYPPERVVVISOR lol)
The Guest Kernel that controls Virtual HW is included in VM.
The hypervisor can operate while replacing the existing OS and it can also run on an existing OS.
But hypervisor needs Virtualization, and it makes heavy and slow.
So we can say this method is less efficient
- when we need to make up lots of independent group in a macine.
가상 머신(Wiki)는 물리적 컴퓨팅 환경을 소프트웨어로 에뮬레이션* 한 것입니다.
저희는 VM에 프로그램을 설치하고 실행할 수 있습니다.
- VM은 어떻게 동작하나요?
저희는 가상 하드웨어(디스크, 네트워크 인터페이스, CPU 등등)을 구현해야 합니다.
하이퍼바이저라고 불리는 특별한 소프트웨어가 이 일을 합니다.(멋지게 들리지 않나요? 하이PㅓVVVㅏ이저 ㅋㅋㅋㅋ)
가상 머신에는 가상 하드웨어를 조작하는 게스트 커널이 포함되어 있습니다.
하이퍼바이저는 기존 OS를 대체하면서 동작할 수도 있고 기존 OS와 동시에 동작할 수도 있습니다.
그러나 하이퍼바이저는 가상화라는 작업이 필요한데, 이는 프로그램을 무겁고 느리게 만듭니다.
그래서 한 머신에 여러 가상화된 그룹을 구성할 때 이 방법을 사용하는 것은 비효율적이라고 할 수 있습니다.
emulation*
Emulator copys system to another. Then 2nd system moves like 1st system. Wiki
에뮬레이션*
에뮬레이터는 시스템을 복제하여 두 번째 시스템이 첫 번째 시스템을 따라 동작하도록 합니다. Wiki
[1] Container 컨테이너
In general, we usually thinks [Container_pic_0] when we say "container".
In this case, container is "an object that can be used to hold or transport something".
Container makes applications and required files/library as isolated environment to run a SW like a VM.
Lets compare two image : [VM_pic_0], [VM_pic_1].
If we use container, it is more efficient becuase we don't need Virtual Guest OS and Virtual HW.
일반적으로 "컨테이너"라고 하면 [Container_pic_0]을 떠올립니다.
이 때 컨테이너는 "물건을 격리하여 보관하거나 이동할 수 있도록 하는 것"입니다.
컨테이너는 VM처럼 어플리케이션을 필요한 항목/라이브러리와 묶어 구동을 위한 격리된 환경을 만들어 줍니다.
이제 [VM_pic_0], [VM_pic_1]를 비교해 봅시다.
컨테이너를 이용하면 가상 게스트 OS와 가상 HW를 사용하지 않아도 되기 때문에 더 효율적이게 됩니다.
[3] References 참조
'Code > Dictionary' 카테고리의 다른 글
사전_42_ft_Server : 2 : DockerFile, Debian OS, Nginx (0) | 2020.12.25 |
---|---|
사전_42_ft_Server : 1 : Docker, Structure of ft_server (4) | 2020.12.25 |
Comment