Taking baby-developer steps

[도커&쿠버네티스] 도커란 무엇인가? 본문

CS 지식/서버 구축

[도커&쿠버네티스] 도커란 무엇인가?

Surin Lee 2023. 11. 15. 07:16

 도커를 한마디로 정의하자면 "데이터 또는 프로그램을 격리시키는 기능"을 제공하는 소프트웨어이다. 프로그램을 격리하는 주체를 컨테이너라고 하며, 이 컨테이너를 다루는 기능을 제공하는 소프트웨어가 도커이다. 도커를 사용하려면 도커 소프트웨어의 본체인 도커 엔진을 설치해야한다. 도커 엔진 외에도 "이미지"가 필요한데, 컨테이너를 만들 틀 같은 존재라고 생각하면 된다. 용량이 허락하는 한 하나의 도커에서 여러개의 컨테이너를 만들 수 있다. 도커는 내부적으로 리눅스를 사용한다. 따라서 컨테이너 내부에서도 리눅스만 동작 가능하다.

 

서버 환경 격리가 왜 필요한가

 서버 구축시 설계할 때는 문제가 없던 프로그램끼리도 실제로 설치하면 오류가 발생하는 일이 있다. 대부분 문제의 원인은 "프로그램 간 공유"에 있다. 일반적 환경에서는 한 대의 서버마다 한 벌만 설치할 수 있는 소프트웨아가 대부분이다. 도커를 사용하면 격리환경에 다양한 버전의 프로그램을 각각 설치할 수 있다. 여러 컨테이너에서 같은 프로그램을 실행 할 수도 있다.

 

서버와 도커

 서버란 서비스 제공자이다. 개발 현장에서의 서버는 "기능적 의미의 서버"와 "물리적 컴퓨터로서의 서버"를 가리킨다. 컨테이너는 격리된 환경을 제공 하며, 또 쉽게 옮길 수 있다는 특성을 가지고 있다.  도커만 설치돼 있으면 운영체제가 달라도 컨테이너를 옮길 수 있다. 도커를 이용하면 물리적 환경의 차이, 서버구성의 차이를 무시할 수 있어, 운영 서버와 개발 서버의 환경 차이로 인한 문제를 방지 할 수 있다.


참고 : 그림과 실습으로 배우는 도커&쿠버네티스 [개념과 작동 원리가 쏙쏙 이해되는 완벽 입문서]- 오가사와라 시게타카 지음

Comments