본문 바로가기
코딩공부/도커 & 쿠버네티스

2. 서버와 도커

by 에반셀린 2023. 8. 9.

https://product.kyobobook.co.kr/detail/S000001766450

 

시작하세요! 도커/쿠버네티스 | 용찬호 - 교보문고

시작하세요! 도커/쿠버네티스 | 쿠버네티스와 도커의 기본 사용 방법을 정확히 이해하는 것을 목표로 합니다!도커 컨테이너는 애플리케이션을 배포하기 위한 새로운 패러다임을 제시하는 가상

product.kyobobook.co.kr


1. 서버의 두 가지 의미

도커를 설명하면 서버 얘기를 하지 않을 수 없는데 도커와 관련해서 서버가 무엇인지 알아보고자 한다.

 

도커는 서버에서 사용되는 소프트웨어인데 클라이언트 컴퓨터에서도 사용할 수 있지만 주로 서버에서 사용되는 것이 주 목적이라 할 수 있다.

 

서버의 뜻을 먼저 알아야 하는데 서버는 '어떤 서비스(Service)를 제공(Serve)하는 것'을 말한다.

 

보통 IT 기업에서 개발한 시스템을 서버에 올린다. 라는 말을 많이 듣게 되는데 서버의 의미가 두가지를 갖게 된다.

 

첫 번째로, '기능적 의미의 서버'이고 두 번째로, '물리적 컴퓨터로서의 서버'를 말한다. 예를 들어, 우리가 메일 서버, 로그인 서버같이 무엇무엇 서버라고 말하게 되는데 무슨 기능을 하는 서버를 얘기할 때 무슨 기능을 탑재한 것을 기능 서버라고 할 수 있다. 물리적 서버는 말 그대로 물리적으로 존재하는 컴퓨터를 뜻한다.

 

서버의 기능은 소프트웨어가 제공한다. 소프트웨어가 없으면 서버의 기능을 못하는 데 말 그대로 소프트웨어를 설치하면 '서버'의 기능을 갖게 된다. 예를 들어, 아파치 같은 웹 서버 소프트웨어를 설치하면 웹 서버 기능을 갖춘 서버가 된다는 것을 말한다.

 

서버는 주로 리눅스라는 운영체제에 사용되는데 리눅스와 유닉스라는 운영체제에서도 다양한 종류가 있다. 리눅스 계통에서는 레드햇, CentOS, 우분투가 유명하다.

2. 컨테이너를 이용해 여러 가지 서버 기능을 안전하게 함께 실행하기

앞에서 서버에 대해 알아봤는데 다시 도커 이야기를 하고자 한다.

 

도커 환경에서 컨테이너를 사용하면 프로그램을 완전히 격리할 수 있다고 이전 글에 말한 적이 있다. 그렇다면 예산이 부족해 다양한 서버를 사용해야 되는 상황에 한 대의 서버에 다양한 기능의 서버를 올릴 수 없는 상황이 있다. 그때, 독립적으로 서버를 운영할 수 있는 도커 컨테이너가 있다. 이 점이 도커의 무서운 점이라 할 수 있다.

 

그 말은, 물리 서버 한 대에 여러 개의 웹 서버를 띄울 수 있다는 뜻이고 그만큼 물리 서버 수를 줄일 수 있어 비용적인 측면, 유지보수 측면에 효과적이라 할 수 있다.

3. 자유로이 옮길 수 있는 컨테이너

컨테이너는 자유로이 옮길 수 있다.

 

실제로 컨테이너를 옮긴다는 뜻은 아니고(^^;;) 컨테이너의 정보를 내보내기한 다음, 다른 도커 엔진에 복원하는 형태를 말한다. 어떤 컨테이너에 다른 도커 엔진으로 옮기는 건 그렇게 어렵지 않다.

 

이러한 특성 덕분에 똑같은 상태로 튜닝한 컨테이너를 팀원 전원에게 배포하여 모두가 동일한 개발환경을 사용할 수 있다.

 

도커를 활용하면 물리적 환경의 차이, 서버 구성의 차이를 무시할 수 있으므로 운영 서버와 개발 서버의 환경 차이로 인한 문제를 원천적으로 방지할 수 있다.