컨테이너를 사용하여 각각의 프로그램을 분리된 환경에서 실행 및 관리할 수 있는 툴이다.
<aside> 👨🏻🏫 Docker의 정의를 보더라도 한 번에 와닿지 않을 것이다. 당연하다. Docker가 어떤 툴인지는 직접 사용해보고 경험해봐야 느낄 수 있다. 직접 사용해보고 경험해보는 게 Docker가 어떤 툴인지 제일 빠르게 파악하는 방법이다.
</aside>
<aside> 👨🏻🏫 Docker에서 **컨테이너(Container)**라는 개념은 아주 중요한 개념이다. 머릿속에 컨테이너(Container)가 어떤 개념인 지 대략적으로 떠올릴 수 있어야 한다. 그래야 Docker를 쉽게 배울 수 있다.
</aside>
윈도우 환경을 사용해보면 하나의 컴퓨터에 여러 사용자로 나눠서 사용할 수 있게끔 구성되어 있다. 각 사용자의 환경에 들어가보면 독립적으로 구성되어 있어서 필요한 프로그램을 각 사용자 환경에 따로따로 설치해주어야 한다.
컨테이너도 이와 비슷한 개념이다. 하나의 컴퓨터 환경 내에서 독립적인 컴퓨터 환경을 구성해서, 각 환경에 프로그램을 별도로 설치할 수 있게 만든 개념이다. 하나의 컴퓨터 환경 내에서 여러개의 미니 컴퓨터 환경을 구성할 수 있는 형태이다. 여기서 얘기하는 미니 컴퓨터를 보고 Docker에서는 **컨테이너(Container)**라고 부른다.
(컨테이너(Container)를 이해할 때 머릿속의 이미지로 미니 컴퓨터를 떠올리면 이해하기 편하다.)
여기서 ‘컨테이너’와 ‘컨테이너를 포함하고 있는 컴퓨터’를 구분하기 위해 컨테이너를 포함하고 있는 컴퓨터를 ‘호스트(host) 컴퓨터’라고 부른다.
위의 설명에서 컨테이너는 ‘독립적인 컴퓨터 환경’이라고 얘기했다. 구체적으로 어떤 것들이 독립적으로 관리되는 지 기억해두자.