005 프로그래밍
Docker란 무엇일까?
Dallas
2022. 10. 24. 09:26
반응형
1. Docker의 정의
Docker는 어플리케이션을 구동하기 위한 환경들을 Container라고 하는 곳에 담아 사용자에게 제공해주는 툴이다.
예를 들어, 게임을 설치할 때, 그 게임을 구동하기 위한 엔진들, 이미지들을 설치 파일에 모두 담아서 제공을 해주는 것을 생각해보면 될 것 같다.
이전에는 우리가 파이썬 프로그램을 구동하기 위해서는 파이썬을 설치하고, 그 내부에 있는 API들을 설치해야 그 파일을 정상적으로 불러올 수 있었다.
이러한 불편함을 해결하기 위해 Docker는 Container에 이러한 환경들을 모두 담아, 사용자가 다른 환경을 설정할 필요 없이 Container를 설치하여 바로 프로그램을 구동할 수 있게 도와주는 툴이다.
2. Container와 VM (Virtual Machine)
이러한 Container의 기능은 흔히 가상 환경이라 부르는 Virtual Machine(이하 VM)와 유사한 면을 보인다.
- 공통점 : Container와 VM 모두 사용자의 편의를 위해 프로그램 실행을 위해 필요한 환경들을 담고 있다.
- 차이점 : VM은 OS (리눅스, 윈도우 등)을 포함하는 환경이라면, Container에는 OS를 포함하지 않는다. 즉, VM은 하드웨어의 영역까지를 환경으로 제공한다면, Container는 소프트웨어의 영역까지 환경으로 제공해준다고 볼 수 있을 것이다.
반응형