반응형
본 게시글은 시리즈 게시글이며, "그림으로 배우는 도커 & 쿠버네티스" 책을 읽고 정리한 내용을 담고 있습니다. 제 스스로 책 내용을 더 오랫동안 기억하기 위한 목적 이외에도 책을 읽을 시간이 없는 분들에게는 제 게시글이 도움이 되었으면 합니다.
그림과 실습으로 배우는 도커 & 쿠버네티스 - 첫 번째 이야기
도커란 무엇인가?
위의 목차를 클릭하면 해당 글로 자동 이동 합니다.
도커란 무엇인가?
데이터 또는 프로그램을 격리시키는 기능
- 현재는 주로 서버에서 사용된다.
- 프로그램, 데이터를 독립된 환경에 격리하는 기능을 제공한다.
- 예를 들면, 아래의 그림과 같다.
- 그림과 같이 독립된 공간에 프로그램을 격리시키는데 이 독립된 공간을 "컨테이너"라고 한다.
- 이런 컨테이너들을 관리하는 기능을 제공하는 소프트웨어가 "도커"이다.
- 컨테이너를 만들기 위해서는 도커 엔진과 이미지가 필요하다.
- 이미지는 빵을 찍어내는 빵틀과 같다고 생각하면 된다. 하나의 이미지로 똑같은 구성의 컨테이너를 여러 개 생성할 수 있다.
- 기본적으로 도커를 구동하기 위해서는 리눅스가 필요하다.
- 그런데 윈도우에도 도커 설치 가능한데요? 내부적으로 리눅스를 사용하고 있다...
왜 독립된 환경에 격리하는가?
- 하나의 프로그램은 실행 환경, 라이브러리 그리고 다른 어떤 프로그램들에 의존적이다.
- 프로그램 간에 이런 것들이 공유되다 보면 문제가 생길 수 있다.
- 예를 들면, 아래의 그림과 같다.
- 그래서 프로그램 별로 독립적인 환경이 필요하다.
- 한 대의 물리적인 컴퓨터에서 도커를 통해 다양한 실행 환경을 구성하는 것이 가능하다.
서버의 의미는 무엇인가?
어떤 서비스 (Service) 를 제공하는 것
- 서버의 의미는 크게 두 가지로 구분될 수 있다.
- 기능적 의미의 서버: 무슨 무슨 기능을 제공한다는 의미를 갖는다.
- 웹 기능 제공 = 웹 서버
- 메일 기능 제공 = 메일 서버
- 물리적 컴퓨터로서의 서버: 데스크톱과 마찬가지로 물리적으로 존재하는 컴퓨터를 의미한다.
- 서버는 기본적으로 여러 사람이 원격으로 접근해 사용하고, 여러가지 소프트웨어를 설치해 하나의 물리적 컴퓨터에서 여러 기능을 제공할 수 있다.
- 다시 말해 한대의 컴퓨터에서 여러 소프트웨어를 안정적인 환경에서 동작시키기 위해서는 도커가 필요하다!
- 왜?? 소프트웨어를 독립적인 환경에서 실행시키니까!!
- 또한 비용도 절감 가능하다. 하나의 물리 서버만 있으면 여러 기능을 제공할 수 있기 때문이다.
- 마지막으로 도커의 컨테이너는 쉽게 옮길 수 있다는 장점을 가진다.
- 실제로는 정보를 내보내고, 다른 도커 엔진에서 복원하는 형태이다.
- 결론적으로, 도커만 설치되어 있으면 물리적 환경의 차이, 서버 구성의 차이를 무시하는 것이 가능하다.
도커와 가상화 기술과의 차이는 무엇인가?
- VirtualBox, VMware, AWS EC2와 같은 가상화 기술은 가상의 물리 서버를 생성하는 것을 의미한다.
- 즉, 메인보드와 CPU, 메모리 등의 물리적인 부품을 소프트웨어로 구현하는 것이다.
- 반면 도커는 컨테이너 별로 리눅스가 동작하는 것처럼 보여지지만 실제로는 운영체제의 기능을 호스트 역할의 물리 서버가 해준다.
- 이 점 때문에 물리 서버에도 리눅스가 필요하고, 컨테이너의 내용도 리눅스 운영체제가 될 수 밖에 없다.
연관 도서
반응형
'책으로 하는 공부' 카테고리의 다른 글
[책 요약] 그림과 실습으로 배우는 도커 & 쿠버네티스 - 여섯 번째 이야기 (0) | 2024.08.18 |
---|---|
[책 요약] 그림과 실습으로 배우는 도커 & 쿠버네티스 - 다섯 번째 이야기 (0) | 2024.08.15 |
[책 요약] 그림과 실습으로 배우는 도커 & 쿠버네티스 - 네 번째 이야기 (1) | 2024.08.14 |
[책 요약] 그림과 실습으로 배우는 도커 & 쿠버네티스 - 세 번째 이야기 (0) | 2024.08.12 |
[책 요약] 그림과 실습으로 배우는 도커 & 쿠버네티스 - 두 번째 이야기 (0) | 2024.08.11 |