그림과 실습으로 배우는 도커 & 쿠버네티스

개념과 작동 원리가 쏙쏙 이해되는 완벽 입문서

컨테이너나 도커를 도통 이해하기 어려운 분들을 위한 본격 도커 입문서!

이 책은 컨테이너 기술이 어렵게 느껴지는 엔지니어나 백엔드 기술에 자신이 없는 분들을 위한 도커 입문서입니다. 자세한 그림과 친절한 실습을 통해 리눅스 지식이나 서버 구축 경험이 없어도 컨테이너와 도커, 쿠버네티스에 대한 지식을 쉽게 이해할 수 있습니다.

도커의 개념부터 동작 방식, 명령어 사용법, 컨테이너 운용, 나아가 도커 컴포즈와 쿠버네티스까지, 컨테이너 기술에 대한 배경지식이 전혀 없는 분들도 도커와 쿠버네티스의 개념과 기초 사용법을 익힐 수 있도록 안내합니다. 도커나 쿠버네티스를 배우고 싶은 초보자라면 철저하게 입문자의 눈높이에 맞춘 이 책으로 도커의 세계에 첫발을 내디뎌 보세요.

 

도서 상세 이미지

오가사와라 시게타카

애칭은 야옹이폐하. 테크니컬 라이터이자 일러스트레이터. 시스템 개발에 종사하며 데이터베이스 및 서버, 매니지먼트에 대한 글을 잡지에 기고하거나 책을 집필했다. 그림을 많이 사용한 쉬운 설명으로 정평이 나 있다. 누빔솜옷 애호가다. 최근 관심 있는 동물은 흑표와 성대(어류)다. 저서로는 《그림으로 이해하는 AWS 구조와 기술》(길벗, 2021)이 있다.

심효섭

연세대학교 문헌정보학과를 졸업하고 모교 중앙도서관과의 인연으로 도서관 솔루션 업체에서 일하면서 개발을 시작했다. 네이버에서 웹 서비스 개발 업무를 맡았으며, 웹 서비스 외에 머신러닝에 대한 공부도 꾸준히 하고 있다. 최근 관심사는 회사에 속하지 않고도 지속 가능한 삶이다. 옮긴 책으로 『돈 되는 파이썬 인공지능 프로그래밍』 『도메인 주도 설계 철저 입문』 『Vue.js 철저 입문』 『도커/쿠버네티스를 활용한 컨테이너 개발 실전 입문』 『PyTorch를 활용한 강화학습/심층강화학습 실전 입문』 『PyTorch를 활용한 머신러닝, 딥러닝 철저 입문』 등이 있다.

  • ▣ 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 인스턴스에 접속
  • 145쪽, 단계 2 제목

    run 맨드로 MySQL 컨테이너 생성 및 실행

    ==>

    run 커맨드로 MySQL 컨테이너 생성 및 실행