책소개
컨테이너나 도커를 도통 이해하기 어려운 분들을 위한 본격 도커 입문서!이 책은 컨테이너 기술이 어렵게 느껴지는 엔지니어나 백엔드 기술에 자신이 없는 분들을 위한 도커 입문서다. 자세한 그림과 친절한 실습을 통해 리눅스 지식이나 서버 구축 경험이 없어도 컨테이너와 도커, 쿠버네티스에 대한 지식을 쉽게 이해할 수 있다. 도커의 개념부터 동작 방식, 명령어 사용법, 컨테이너 운용, 나아가 도커 컴포즈와 쿠버네티스까지, 컨테이너 기술에 대한 배경지식이 전혀 없는 분들도 도커와 쿠버네티스의 개념과 기초 사용법을 익힐 수 있도록 안내한다. 도커나 쿠버네티스를 배우고 싶은 초보자라면 철저하게 입문자의 눈높이에 맞춘 이 책으로 도커의 세계에 첫발을 내디뎌 보자.
저자소개
테크니컬 라이터(작가) 겸 일러스트레이터이다. 시스템 개발을 하면서 데이터베이스, 서버, 관리에 대한 잡지나 책 등을 집필하였다. 그림을 많이 활용하여 알기 쉽게 설명하는 걸로 평판이 높고 와타이레한텐(방한용으로 누빔솜을 넣은 일본 전통 의상) 애호가이며, 최근에는 타마카이(다금바리의 한 종류)와 표범에 관심을 가지고 있다.
목차
1장: 도커란 무엇인가? 01 도커란 무엇인가? __안개 속에 숨겨진 도커의 정체는? __데이터나 프로그램을 독립된 환경에 격리해야 하는 이유 __프로그램의 격리란? 02 서버와 도커 __서버의 두 가지 의미 __컨테이너를 이용해 여러 가지 서버 기능을 안전하게 함께 실행하기 __자유로이 옮길 수 있는 컨테이너 2장: 도커의 동작 원리 01 도커의 동작 원리 __도커의 구조 __도커는 기본적으로 ‘리눅스용’이다 02 도커 허브와 이미지, 그리고 컨테이너 __이미지와 컨테이너 __도커 허브와 도커 이미지 03 도커 컨테이너의 생애주기와 데이터 저장 __도커 컨테이너는 ‘쓰고 버리는’ 일회용품 __데이터 저장 04 도커의 장점과 단점 __도커의 구조와 성질 및 그 장단점 __도커의 장점과 단점 __도커의 주 용도 3장: 도커를 사용해보자 01 도커를 사용하려면 __도커는 기본적으로 리눅스용이지만 윈도우와 macOS에서도 사용할 수 있다 __윈도우용/macOS용 도커 사용하기 __도커를 실행하기 위한 조건 02 도커 설치 __도커는 간단히 설치할 수 있다 __윈도우용 도커 데스크톱을 설치하자 __도커 데스크톱의 첫 실행 및 화면 확인 __도커 데스크톱의 화면 확인 03 도커의 조작 방법과 명령 프롬프트 및 터미널 실행 __도커는 명령 프롬프트 또는 터미널에서 다룬다 __명령 프롬프트 및 터미널에 대해 주의할 점 __[실습] 명령 프롬프트와 터미널을 사용해보자 4장: 컨테이너를 실행해 보자 01 도커 엔진 시작하기/종료하기 __도커 엔진을 시작/종료하는 방법 02 컨테이너의 기본적인 사용 방법 __컨테이너 사용의 기본은 도커 명령어 __기본적인 명령어 - 정리 __[실습] 간단한 명령어를 사용해 보자 __대표적인 명령어 03 컨테이너의 생성과 삭제, 실행, 정지 __docker run 커맨드와 docker stop, docker rm 커맨드 __docker ps 커맨드 __[실습] 컨테이너를 생성하고, 실행, 상태 확인, 종료, 삭제해 보자 04 컨테이너의 통신 __아파치란? __컨테이너와 통신하려면 __[실습] 통신이 가능한 컨테이너 생성 05 컨테이너 생성에 익숙해지기 __다양한 유형의 컨테이너 __[실습] 아파치 컨테이너를 여러 개 실행하기 __[실습] Nginx 컨테이너 실행하기 __[실습] MySQL 컨테이너 실행하기 06 이미지 삭제 __이미지 삭제 __docker image rm 커맨드 __docker image ls 커맨드 __[실습] 이미지 삭제하기 5장: 여러 개의 컨테이너를 연동해 실행해보자 01 워드프레스 구축 __워드프레스 사이트 구성 및 구축 __도커 네트워크 생성/삭제 __MySQL 컨테이너 실행 시에 필요한 옵션과 인자 __워드프레스 컨테이너 실행 시 필요한 옵션과 인자 02 워드프레스 및 MySQL 컨테이너 생성과 연동 __이번 절의 실습 내용과 사용할 커맨드 __워드프레스와 MySQL 컨테이너 생성 및 실행 03 명령어를 직접 작성하자 __소프트웨어와 데이터베이스의 관계 __run 커맨드를 직접 작성하는 방법 04 레드마인 및 MariaDB 컨테이너를 대상으로 연습하자 __레드마인 및 MySQL 컨테이너 생성 __레드마인 및 MariaDB 컨테이너 만들기 6장: 실전에 활용 가능한 컨테이너 사용법을 익히자 01 내게 필요한 지식이 무엇인지 정리하기 __자신의 역할에 따라 알아야 할 지식이 달라진다 __앞으로 설명할 도커 기술 02 컨테이너와 호스트 간에 파일 복사하기 __파일 복사 __[실습] 호스트의 파일을 컨테이너 속으로 복사 __[실습] 컨테이너의 파일을 호스트로 복사 03 볼륨 마운트 __볼륨과 마운트 __스토리지 마운트의 종류 __스토리지 영역을 마운트하는 커맨드 __[실습] 바인드 마운트해보기 __[실습] 응용편 - 볼륨 마운트해보기 04 컨테이너로 이미지 만들기 __컨테이너로 이미지를 만드는 방법 __[실습] commit 커맨드로 컨테이너를 이미지로 변환 __[실습] Dockerfile 스크립트로 이미지 만들기 05 컨테이너 개조 __컨테이너의 개조란? __도커의 구조, 도커 엔진을 통해야 하는 명령과 컨테이너 안에서 실행해야 하는 명령 06 도커 허브 등록 및 로그인 __이미지는 어디서 내려받는 걸까? __도커 허브와 도커 레지스트리 __태그와 이미지 업로드 __레지스트리를 만드는 방법 7장: 도커 컴포즈를 익히자 01 도커 컴포즈란? __도커 컴포즈란? 02 도커 컴포즈의 설치와 사용법 __[실습] 도커 컴포즈 설치 __도커 컴포즈의 사용법 03 도커 컴포즈 파일을 작성하는 법 __도커 컴포즈 정의 파일의 내용 살펴보기 __컴포즈 파일(정의 파일)을 작성하는 방법 __[실습] 컴포즈 파일 작성 04 도커 컴포즈 실행 __도커 컴포즈 커맨드 __[실습] 도커 컴포즈 실행 8장: 쿠버네티스를 익히자 01 쿠버네티스란? __쿠버네티스란? 02 마스터 노드와 워커 노드 __클러스터의 구성 - 마스터 노드와 워커 노드 __쿠버네티스는 항상 ‘바람직한’ 상태를 유지한다 03 쿠버네티스의 구성과 관련 용어 __쿠버네티스의 구성과 관련된 용어(파드, 서비스, 디플로이먼트, 레플리카세트) __그 밖의 쿠버네티스 리소스 04 쿠버네티스 설치 및 사용법 __쿠버네티스의 종류 __어떤 종류의 쿠버네티스를 사용할까? __[실습] 도커 데스크톱의 쿠버네티스 준비 05 매니페스트 파일(정의 파일) 작성 __매니페스트 파일이란? __매니페스트 파일로 작성할 내용 __메타데이터와 스펙 작성(1) - 파드 __[실습] 매니페스트 파일 작성(1) - 파드 __메타데이터와 스펙 작성(2) - 디플로이먼트 __[실습] 매니페스트 파일(정의 파일) 작성(2) - 디플로이먼트 __메타데이터와 스펙 작성(3) - 서비스 __[실습] 매니페스트 파일 작성(3) - 서비스 06 쿠버네티스 명령어 __쿠버네티스 명령어 __[실습] 매니페스트 파일로 파드 생성(1) - 디플로이먼트 __[실습] 매니페스트 파일로 파드 생성(2) - 서비스 07 쿠버네티스를 연습하자 __[실습] 매니페스트 파일로 파드의 개수 늘리기 __[실습] 매니페스트 파일로 아파치를 nginx로 바꾸기 __[실습] 수동으로 파드를 삭제한 후 자동복구되는지 확인 __[실습] 생성했던 디플로이먼트와 서비스 삭제 __저자 후기 부록 01 (윈도우용) 설치 관련 정보 __[실습] 윈도우의 32비트/64비트 여부 및 버전 확인 02 (macOS용) 도커 데스크톱 설치 방법 __[실습] macOS에서 도커 데스크톱 설치 03 (리눅스용) 도커 설치 __[실습] 리눅스 설치 __[실습] 도커 설치 04 VirtualBox의 포트 포워딩 설정 05 (리눅스용) nano 에디터의 사용법 06 (리눅스용) 쿠버네티스 설치 __[실습] kubectl 설치 __[실습] Minikube 설치 07 도커 데스크톱 콘솔의 사용법 08 도커 커맨드 09 VirtualBox를 이용한 실습 준비 __[실습] VirtualBox 실습 준비(1) - VirtualBox 설치 __[실습] VirtualBox 실습 준비(2) - 가상 머신 만들기 __[실습] VirtualBox 실습 준비(3) - ISO 이미지 마운트 및 미세 조정 __[실습] VirtualBox 실습 준비(4) - 리눅스(우분투) 설치 10 AWS를 이용한 실습 준비 __[실습] AWS 가상 머신에 우분투 설치 __[실습] SSH로 EC2 인스턴스에 접속