ISBN 9784297114282
たった1日で基本が身に付く! Docker/Kubernetes超入門
概要
DockerからKubernetesまでをハンズオンで一気に習得する
想定読者
コンテナ技術に初めて触れるエンジニアや、DockerとKubernetesの基礎を体系的に学び直したい開発者
こんな人には向いていない
- すでにDockerを日常的に活用し、Kubernetes本番クラスタの運用・チューニング経験があるエンジニアには基礎事項の比重が大きすぎる
- RBAC・カスタムコントローラ・Helm等、Kubernetesの高度なオーケストレーション機能を掘り下げたい読者には別書が必要
- 2020年刊のためDocker Compose V2やKubernetes 1.25以降のAPI変更を追いたい場合は公式ドキュメントやより新しい書籍で補完が必須
この本で身につくこと
- Dockerイメージのビルド・レジストリへの登録・実行まで一連の操作ができる
- Dockerfileのマルチステージビルドで本番向け小サイズイメージを作成できる
- Docker Composeでデータ永続化を含むマルチコンテナアプリを定義・起動できる
- JenkinsをコンテナトでCI/CDパイプラインを構築する手順を理解できる
- KubernetesのDeployment・Serviceを使ってコンテナを宣言的に管理できる
- マイクロサービスアーキテクチャの文脈でコンテナオーケストレーションの役割を説明できる
ハイライト(外部からの言及)
この1冊を読めば、DockerとKubernetesの基礎知識と開発のイメージが、たった1日で掴めます! さらに、サンプルファイルを使って実際にコンテナを操作し、アプリの開発・デプロイを体験することで、1週間ほどでより実践的なテクニックが身に付きます。 — 出典
本書の学習設計を端的に示す記述。1日で概要把握・1週間で実践力という2段階の到達目標が明確であり、購入前の時間コスト見積もりに直結する
章立て
第1章 Dockerを使ってみよう
インストールから基本操作まで。ここだけでDockerの全体像が掴めるよう設計されている
第2章 イメージの利用と開発を体験しよう
Ansible連携が含まれるが、Ansibleを使わない環境の読者は後半を軽く流してよい
第3章 Dockerネットワークとストレージを理解しよう
WordPressを例にしたデータ永続化の実例は実務直結度が高い。仕組みの理解に最も時間を割く価値がある章
第4章 Dockerfileでイメージを作成しよう
マルチステージビルドによる本番最小イメージ作成が核心。5章・6章とセットで読むと効果が高い
第5章 Composeを使ってマルチコンテナアプリを作ろう
3階層アプリをComposeで定義する実例が本書で最も実務転用しやすい箇所
第6章 DockerアプリでCI/CDしよう
Jenkinsを使った実装例。現在はGitHub Actionsが主流のため概念理解に留め、別資料で補完を推奨
第7章 Kubernetesを理解しよう
Kubernetesのネットワークモデルの説明が初学者に優しい。概念整理の章として1〜3回転が有効
第8章 Kubernetesを利用しよう
Deploymentの実践とマイクロサービス設計の展望。次世代インフラの全体像を示すまとめ章
関連記事 / 参考情報
- 個人サービス「Ability」の開発記録(Laravel / Vue / AWS / Docker / CircleCI) — Docker・CircleCIを実プロダクトに組み込んだ全工程の記録。本書のCI/CD知識を実務に展開した例として参考になる
- 【合格体験記】CKA受けてみた — CKA資格の学習ルートと参照書籍を紹介。本書をKubernetes入門の参照先として挙げている
- 【Docker】マルチステージビルドによる効率化 — 本書4章対応の学習メモ。マルチステージビルドによるイメージサイズ削減の手順を整理
- 【Docker】docker-compose.yml 学習メモ — 本書5章対応のCompose設定学習メモ。docker-compose.ymlの基本構文をまとめている
- 【Docker】【Jenkins】CI/CD環境を構築する — 本書6章対応のJenkinsパイプライン構築記録。パイプラインの動作確認手順を含む
- ゴールデンウィークだし、Dockerはじめてみない? — Docker入門の取り掛かりを促す記事。本書を入門書として紹介している
学習のヒント
- 1〜3章を1日で通読してDockerの全体像を掴み、4〜5章を1週間かけてサンプルを動かしながら写経するのが著者の推奨ペース。このリズムを守ることで「動作の理由」まで理解が及びやすい
- 6章のCI/CDはJenkinsを題材にしているが、現在の現場ではGitHub Actionsが主流。概念の習得に集中し、実装は手元のActionsワークフローで再現する方が即戦力になりやすい
- 7〜8章はKubernetesの概念整理として読み、kubectl操作の練習には別途minikubeまたはkind環境を用意すると手が動かしやすい。本書だけで完結させようとせず、公式チュートリアルと並走するのが効果的
- 章を終えるたびに「なぜこの設計になっているか」を自分の言葉で説明してみる習慣をつけると、単なる手順の暗記を超えたコンテナ設計の思考が身につく
前提知識
- LinuxのCLI基本操作(ファイル操作・プロセス確認・ネットワーク疎通確認)
- Git・GitHubの基本操作(clone / commit / push)
- WebアプリのHTTP通信とポート番号の概念
次に読む本
Kubernetes完全ガイド
本書でKubernetesの概要を掴んだ後、本番環境での運用・チューニングを体系的に学ぶ定番書。Deployment以外のリソース種別や運用パターンを網羅する
Docker実践ガイド
Dockerの内部アーキテクチャ・セキュリティ・マルチホスト構成をより深く学びたい場合の次ステップ
継続的デリバリー
CI/CDの概念をDockerの文脈を超えて体系的に理解し、組織全体のデリバリーパイプライン設計に応用するための基礎理論を提供する
出版社による内容紹介
DockerとKubernetesの基本が、たった1日で?! 本書は、次世代のアプリケーションアーキテクチャとして注目されている「マイクロサービス」の技術基盤となるコンテナ技術「Docker」とコンテナオーケストレーション技術「Kubernetes」を取り上げ、Dockerの基本的な利用法、DockerfileやComposeの設計、コンテナのデータ永続化やCI/CD、Kubernetesによる複数コンテナの自動管理までを、一気に学習します。この1冊を読めば、DockerとKubernetesの基礎知識と開発のイメージが、たった1日で掴めます! さらに、サンプルファイルを使って実際にコンテナを操作し、アプリの開発・デプロイを体験することで、1週間ほどでより実践的なテクニックが身に付きます。 ●第1章 Dockerを使ってみよう SECTION 01 Dockerとコンテナ技術について学ぼう SECTION 02 Dockerをインストールしよう SECTION 03 Dockerを体験してみよう SECTION 04 コンテナの利用法を学ぼう SECTION 05 Dockerの使いどころを知ろう ●第2章 イメージの利用と開発を体験しよう SECTION 01 Dockerイメージを使いこなそう SECTION 02 イメージを作成してレジストリに登録してみよう SECTION 03 どこでも使えるイメージを作ろう SECTION 04 Ansibleを使ってDockerホストを構築しよう ●第3章 Dockerネットワークとストレージを理解しよう SECTION 01 Dockerネットワークを使いこなそう SECTION 02 データ揮発性とデータ永続化について知ろう SECTION 03 WordPressをデータ永続化してみよう SECTION 04 Dockerの仕組みを知ろう ●第4章 Dockerfileでイメージを作成しよう SECTION 01 Dockerfileの基本を知ろう SECTION 02 Docker向けの小さいイメージを作成してみよう SECTION 03 コンテナ上のアプリを正しく動かそう SECTION 04 GitとGitHubを使ってみよう ●第5章 Composeを使ってマルチコンテナアプリを作ろう SECTION 01 Docker Composeを使ってみよう SECTION 02 Composeを使ってイメージを開発してみよう SECTION 03 Composeのその他の機能を学ぼう SECTION 04 Composeで本格的な3階層アプリを開発してみよう ●第6章 DockerアプリでCI/CDしよう SECTION 01 継続的開発とデプロイについて知ろう SECTION 02 DockerベースのCI/CD環境を準備しよう SECTION 03 パイプラインを実行してみよう ●第7章 Kubernetesを理解しよう SECTION 01 Kubernetesについて知ろう SECTION 02 Kubernetesでアプリを展開しよう SECTION 03 Kubernetesのネットワークについて知ろう ●第8章 Kubernetesを利用しよう SECTION 01 Kubernetes用イメージを開発しよう SECTION 02 デプロイメントを使ってみよう SECTION 03 次世代のインフラとアプリ設計について学ぼう
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。