Ctrl + Shift + ESC

[Docker] Docker 입문수업 - 1. 수업소개 본문

카테고리 없음

[Docker] Docker 입문수업 - 1. 수업소개

단축키실행해보세요 2023. 1. 8. 23:40

컴퓨터에서 어플리케이션을 만들기 위해서는 운영체제의 여러 소프트웨어를 설치해야 한다.

예를 들어 웹을 만들기 위해서는 웹 서버와 데이터베이스 등을 설치해야 한다.

하지만 여러 번 설치해야 하기 때문에 번거롭다.

 

전문가가 적당한 운영체제를 깔고 웹 서버와 DB를 함께 배포한 뒤 네트워크로 사용하면 이런 문제를 해결할 수 있다.

하지만 이렇게 하기 위해서는 컴퓨터가 3대나 필요하다.

 

하나의 컴퓨터에 가상으로 컴퓨터를 만들고 그 위에 운영체제를 설치한 후, 그 위에 웹 서버를 설치한다면 컴퓨터를 별도로 장만하지 않아도 될 것이다. (Vmware, Virtualbox)

하지만 웹 서버를 운영하기 위해 운영체제를 까는 것은 비효율적이다.

운영체제의 용량이 크고, 운영체제 위에 또 운영체제가 있으면 실행 속도가 느려지기 때문이다.

 

따라서 한 대의 컴퓨터 안에서 각각의 앱을 실행시키면 좋을 것이다.

그리고 각각의 앱은 그냥 실행되는 것이 아니라, 격리된 환경에서 실행된다.

호스트 : 운영체제가 설치된 컴퓨터

컨테이너 : 호스트에서 실행되는 격리된 각각의 실행환경

 

각각의 컨테이너에는 운영체제가 설치되어 있는 것이 아니고, 앱을 실행하는 데 필요한 라이브러리와 실행 파일들만 포함되어 있다.

이에 대한 이점으로는

1. 이미 존재하는 운영체제를 공유하므로 무언가를 설치할 필요가 없다.

2. 운영체제가 하나이므로 속도가 느려지지 않는다.

3. 운영체제를 다시 할 필요가 없어 시간 절약과 용량 절약이 가능하다.

이 있다.

 

리눅스 운영체제에는 이러한 앱 실행 방법이 내장되어 있는데, 이러한 기술을 컨테이너라고 부른다.

그리고 컨테이너 기술을 이용해서 이런 일을 쉽게 해주는 소프트웨어들이 여럿 있는데, 그 중에서 가장 많이 사용되는 것이 도커이다.