IT/Docker

Docker가 필요한 이유

DS지니 2021. 3. 20. 22:03
728x90
반응형

프로그램을 만들 때 고려해야될 문제들이 있습니다.

 

CASE 1 환경 표준화 - 환경이 일정하지 않아서 생기는 문제

 

대표적인 운영체제는 Linux, Windows, MaxOS로 나뉘어지는데, 프로그램 또는 어플리케이션을 개발할 때 어떤 환경에서 구동될지 생각하고 개발해야함. 운영체제가 서로 다르다면 환경에 따라 조금씩 변경해줘야함.

 

 

CASE 2 수작업으로 일치시키는 환경 구성

모두가 같은 운영체제로 맞추었다고 해서 해결되는 문제가 아닙니다. 각 개인의 컴퓨터마다 설정된 환경들이 다릅니다. (예. 환경변수) 이외에도 어플리케이션을 설치할 때 컴퓨터에 맞게 변경해줘야하는 부분들이 있습니다. (예. 방화벽설정, 사용자 권한 설정, Port 설정 등)

만약 개발 혹은 실행에 대한 환경 설정이 코드화되어 있다면 편하게 작업할 수 있지 않을까요?

 

CASE 3 리소스 격리성

만약 각기 다른 웹 서버마다 다른 방화벽 설정과 다른 포트 번호를 요구한다면?

이러한 문제를 해결하기 위해서 하나의 컴퓨터에서 여러개의 컴퓨터를 이용하는 것처럼 할 수 없을까?

 

이 방법이 바로 '리소스 격리성' 입니다.

 

가상화 방법(가상머신)과 도커는 격리성을 제공하기 때문에 각 어플리케이션 마다 다른 컴퓨터에서 실행되는 것처럼 IP, Port 등을 다르게 설정할 수 있습니다. (가상머신과 도커의 차이점은 다음 포스트에서.)

 

 

 


위 세가지 문제를 해결할 수 있는 방법 중에 Docker의 기반 기술인 리눅스 컨테이너(Linux Container)가 있습니다.

도커란, 어플리케이션 실행환경을 코드로 작성할 수 있고, OS를 격리화 하여 관리하는 기술입니다.

 

728x90
반응형

'IT > Docker' 카테고리의 다른 글

docker-compose , compose file(YAML 파일)  (0) 2021.03.21
Docker CLI (Command Line Interface)  (0) 2021.03.21
Linux Container 리눅스 컨테이너  (0) 2021.03.20
Docker 관련 영상 및 자료  (0) 2021.03.20