반응형
도커란 무엇인가?

도커의 정의 : 데이터 또는 프로그램을 격리시키는 기능’을 제공하는 소프트웨어
- 주로 서버에서 사용
- 서버에는 아파치, MySQL 등 여러 프로그램이 함께 동작을 하는데 각각 독립된 환경에 격리하는 기능을 제공함
- 서버 환경을 작게 쪼갠 독립된 창고로 나누고 거기에 데이터나 프로그램을 두는 것
- 이 창고를 ‘컨테이너’라고 하고, 이 컨테이너를 다루는 기능을 제공하는 소프트웨어가 ‘도커’다.
- 도커를 사용하려면 그 소프트웨어의 본체인 ‘도커 엔진’을 설치해야 한다.
도커 엔진이 있어야 컨테이너를 만들 수 있는데 그 외에 빵틀과 같은 역할을 할 ‘이미지’가 필요하다.
아파치 컨테이너를 만들려면 아파치 이미지를 사용하고, MySQL 컨테이너를 만들려면 MySQL 이미지를 사용해야 한다.
컨테이너는 여러 개를 만들 수도 있다. 용량이 허락하는 한 하나의 도커에서 여러 개를 만들 수 있다.
단, 도커는 리눅스 운영체제에서 작동한다.
* 서버의 두 가지 의미
서버는 ‘어떤 서비스를 제공하는 것’이다.
기능적 의미의 서버는 “무슨무슨” 서버
- 웹 서버 = 웹 기능을 제공
- 메일 서버 = 메일 기능을 제공
서버라고 해서 일반적인 컴퓨터와 다를 것이 없다. 개인용 컴퓨터는 개인이 사용하고, 서버는 여러 사람이 원격으로 접근해 같이 사용한다는 점이 다를 뿐이다.
- 서버의 기능은 소프트웨어가 제공한다
서버의 기능은 소프트웨어가 제공하는 것으로, 소프트웨어를 설치하면 서버의 기능을 갖게 된다.
아파치를 설치하면 웹 서버 기능을 갖게 되고, Sendmail을 설치하면 메일 서버가 된다.
그리고, 여러 가지 소프트웨어를 한 컴퓨터에 설치할 수도 있다는 말이 된다.
즉, 여러 기능적 의미의 서버가 하나의 물리적 서버에 함께 존재할 수 있는 것이다.
- 컨테이너를 이용해 여러 서버 기능을 안전하게 함께 실행하기
한 대의 서버에서 같이 실행하던 웹 서버와 메일 서버, DB 서버를 각각 독립적인 환경에서 안전하게 운용할 수 있다.
무엇을 업데이트 하더라도 서로 영향을 미치지 않는다.
보통 한 대의 서버에는 웹 서버를 한 벌 밖에 실행하지 못하는데 컨테이너를 활용하면 여러 개의 웹 서버를 올릴 수 있다.
- 도커와 AWS EC2의 차이
AWS EC2에도 도커의 컨테이너와 비슷한 인스턴스라는 개념이 있다. EC2는 가상화 기술인데 각각의 인스턴스가 완전히 독립된 컴퓨터처럼 동작한다.
- 도커의 동작 원리
일반적인 서버라면 운영체제 위에 프로그램이나 데이터가 직접 올라가겠지만 도커를 사용하는 경우에는 운영체제 위에 도커 엔진이 동작하고 그위에 컨테이너가 동작한다.
운영체제는 소프트웨어나 프로그램의 명령을 하드웨어에 전달하는 역할을 한다.
- 쿠버네티스란?

컨테이너 오케스트레이션 도구의 일종이다. 시스템 정체를 통괄하고 여러 개의 컨테이너를 관리하는 일을 말한다.
쿠버네티스는 여러 대의 물리적 서버가 존재한다는 것을 전제로 한다.
반응형
댓글