이 책은 저자의 오랜 강의를 통한 개념 전달 경험과 전문성을 반영하여 도커 컨테이너의 설치, 활용, 배포를 학습하고 AWS에서 사용해 보는 방법이 포함된 이론 및 실습서다. 도커를 이용한 컨테이너 서비스를 업무 애플리케이션에 도입하고자 하는 모든 사람들이 도커의 기본부터 충실히 배울 수 있도록 구성되었다.
Contents
머리말 viii
추천사 x
베타리더 후기 xiii
CHAPTER 01 클라우드 컴퓨팅 1
1.1 클라우드 컴퓨팅 개요 3
1.1.1 클라우드 컴퓨팅이란? 3
1.1.2 클라우드 컴퓨팅 구조 5
1.1.3 클라우드 컴퓨팅 제공 방식과 클라우드 서비스 종류 6
1.2 컨테이너 기술과 도커 10
1.2.1 가상머신과 컨테이너 10
1.2.2 도커 12
1.2.3 도커 맛보기: PWD 15
1.3 쿠버네티스 20
1.4 데브옵스 22
CHAPTER 02 도커 설치 25
2.1 도커 엔진 27
2.2 리눅스용 도커 엔진 설치 29
2.2.1 도커 설치 환경 29
2.2.2 Ubuntu 18.04에 패키지를 이용한 도커 커뮤니티 에디션(CE) 설치 31
2.2.3 CentOS 7에 패키지를 이용한 도커 커뮤니티 에디션(CE) 설치 35
2.3 윈도우/macOS용 도커 엔진 설치 37
2.3.1 윈도우/macOS용 도커 툴박스 설치 37
2.3.2 윈도우용 도커 엔진 설치 42
2.3.3 macOS용 도커 엔진 설치 45
2.4 도커 확인 46
2.4.1 도커 컨테이너 서비스 46
2.4.2 도커 정보 확인 48
CHAPTER 03 컨테이너 서비스를 위한 도커 활용 57
3.1 컨테이너 서비스 59
3.1.1 컨테이너 서비스란? 59
3.1.2 왜 도커 컨테이너 서비스일까? 60
3.2 도커 명령어 활용 62
3.2.1 도커 이미지 명령어 62
3.2.2 도커 컨테이너 명령어 81
3.2.3 도커 볼륨 활용 96
3.2.4 도커 컨테이너의 자원 사용에 대한 런타임 제약 108
3.2.5 도커 네트워크 118
3.2.6 도커 kill 명령과 초기화 148
CHAPTER 04 컨테이너 환경 구성을 위한 Dockerfile 구성 153
4.1 코드로 개발하는 컨테이너 인프라, Dockerfile 155
4.1.1 IaC와 Dockerfile 155
4.1.2 최적의 Dockerfile 만들기 156
4.2 Dockerfile 명령어와 이미지 빌드 157
4.2.1 Dockerfile 명령어 157
4.2.2 이미지 생성을 위한 Dockerfile 빌드 163
4.2.3 이미지 빌드 과정 173
4.3 Dockerfile을 활용한 다양한 이미지 생성 180
4.3.1 다양한 방법의 Dockerfile 작성 182
4.4 깃허브를 활용한 Dockerfile 코드 공유 197
4.4.1 깃허브 사용 198
4.4.2 도커 허브의 자동화된 빌드와 깃허브 201
4.5 개별 이미지 저장을 위한 프라이빗 레지스트리 구성 210
4.5.1 도커 레지스트리 컨테이너 211
4.5.2 도커 레지스트리 웹 GUI 컨테이너 연결 213
4.5.3 오픈 소스 컨테이너 레지스트리 소개 215
CHAPTER 05 도커 컴포즈 도구를 이용한 다중 컨테이너 애플리케이션 서비스 배포 217
5.1 도커 컴포즈 219
5.1.1 도커 컴포즈 설치 219
5.1.2 도커 컴포즈 야믈 코드 작성 224
5.1.3 도커 컴포즈 명령어 238
5.1.4 도커 컴포즈 애플리케이션 로드 밸런스 구성 246
CHAPTER 06 AWS 클라우드를 활용한 컨테이너 서비스 배포 251
6.1 AWS 클라우드 ECS 253
6.1.1 AWS 컨테이너 오케스트레이션 도구 253
6.1.2 AWS 클라우드 가입 254
6.2 AWS 클라우드 EC2 + Docker + ECR 구성해 보기 255
6.2.1 도커 컨테이너를 위한 서버 구성: AWS EC2 인스턴스 255
6.2.2 EC2 인스턴스에 도커 설치 및 테스트 264
6.2.3 AWS 기반의 이미지 저장소(ECR) 생성 269
6.3 AWS 클라우드 ECS 구성 워크숍 273
6.3.1 AWS ECS 워크숍: 작업 순서 273
6.3.2 AWS ECS 워크숍: 인프라 구성 275
6.3.3 AWS ECS 워크숍: AWS Cloud9 도구를 이용한 개발 환경 구성 297
6.3.4 AWS ECS 워크숍: 도커 이미지 저장소 ECR 구성 303
6.3.5 AWS ECS 워크숍: ECS 환경 구성 309
6.3.6 AWS ECS 워크숍: 웹 서비스 배포 테스트 325
APPENDIX 도커 스웜 모드 클러스터 활용 329
A.1 다중 호스트 기반의 도커 스웜 모드 클러스터 331
A.1.1 도커 스웜 모드 개요 331
A.1.2 도커 스웜 모드 오케스트레이션 도구의 주요 기능 331
A.2 도커 스웜 모드 클러스터 구성 334
A.2.1 도커 스웜 모드 구성을 위한 서버 구성 334
A.2.2 도커 스웜 모드 초기 연결 구성: swarm init와 swarm join 336
A.2.3 도커 스웜 모드 모니터링을 위한 구성 340
A.3 도커 스웜 모드 워크숍 347
A.3.1 도커 스웜 모드 워크숍 1: nginx를 이용한 서비스 컨테이너 배포와 관리 347
A.3.2 도커 스웜 모드 워크숍 2: 서비스 유지관리를 위한 기능 352
A.3.3 도커 스웜 모드 워크숍 3: 도커 스웜 스택을 이용한 애플리케이션 서비스 구성 360
찾아보기 366
Author
이현룡
성균관대학교 정보통신대학 컴퓨터공학 박사과정을 수료했다. 현재 실무자 대상 관리자 교육 및 SQL Tuning, Exadata 등의 오라클 데이터베이스 관련 강의와 빅데이터 분석 관련 강의를 하고 있으며, 오라클 전문 사이트인 ocmkorea.com을 운영하고 있다.
성균관대학교 정보통신대학 컴퓨터공학 박사과정을 수료했다. 현재 실무자 대상 관리자 교육 및 SQL Tuning, Exadata 등의 오라클 데이터베이스 관련 강의와 빅데이터 분석 관련 강의를 하고 있으며, 오라클 전문 사이트인 ocmkorea.com을 운영하고 있다.