본 포스팅은 책 그림과 실습으로 배우는 도커&쿠버네티스
를 읽고 작성했습니다.
gdsc 백엔드 스터디를 통해 작성한 게시물입니다.
1. 도커 + 도커엔진 + 컨테이너
데이터 또는 프로그램을 격리시키는 기능을 제공, 컨테이너를 관리
- 컨테이너: 각각의 독립된 환경 + 이미지, 이동 용이(물리적 환경, 서버 구성 차이 무관)
- 리눅스의 주변 부분이 기본으로 탑재(쉘? 유틸리티 프로그램?) - 독립된 컨테이너 환경에서 커널(도커엔진)로 컨테이너 속 프로그램 명령을 전달하기 위함.
- 한 컨테이너에 한 프로그램
- 생애주기(생성->실행->종료->폐기)
- 폐기 시 데이터 보존을 위해 컨테이너의 데이터는 도커가 설치된 호스트의 디스크를 마운트해 저장
도커는 어떻게든 리눅스 위에서 사용
- 환경의 격리 - 독립된 환경(여러프로그램 실행), 이미지 생성 및 배포, 커널이 불가결 하지 않음(가벼움, 배포판 선택 가능)
- 한 물리서버에 여러 서버 사용, 관리 용이(독립됨->서로 영향 적음), 명령어로 서버 구축
- 물리서버 오류로 모든 서버에 영향
- 모두에게 동일한 환경
- 독립된 환경에서 신버전 테스트
- 스케일링
2. 서버의 의미
기능 - 서비스를 제공하는 것
물리 - 서버 컴퓨터
서버의 기능은 소프트웨어가 제공 - 하나의 물리적 서버에 여러 기능 제공가능
3. 이미지
컨테이너를 만드는 금형 보통 공식 이미지 다운
반대로 컨테이너로 이미지 만들기도 가능 -> 다수 서버 작업 준비 용이
4. EC2와 차이?
EC2는 인스턴스를 제공. 렌탈 환경, 가상화 기술사용 - virtual machine과 비슷, 배포 방식은 도커와 비슷
5. References
http://www.yes24.com/Product/Goods/108431011