Docker/Kubernetes 実践コンテナ解説¶
Docker と Kubernetes を使って、コンテナによるアプリケーションの開発・デプロイ・運用を実践的に学ぶシリーズです。
書籍『Docker/Kubernetes 実践コンテナ開発入門(第 2 版)』の章立てに沿って、コンテナの基礎から複数コンテナ構成、Kubernetes、継続的デリバリーまでを段階的に解説します。各章は実際に動作するサンプルコードに紐づいており、手を動かしながら理解できます。
章構成¶
第 1 部: コンテナと Docker¶
| 章 | テーマ |
|---|---|
| 第 1 章 コンテナと Docker の基礎 | コンテナとは、Docker とは、利用意義、ローカル実行環境の構築 |
| 第 2 章 コンテナのデプロイ | アプリの実行、イメージ作成、イメージ・コンテナの操作、Docker Compose |
| 第 3 章 実用的なコンテナの構築とデプロイ | 粒度、ポータビリティ、クレデンシャル、永続化データ |
第 2 部: 複数コンテナと Kubernetes 入門¶
| 章 | テーマ |
|---|---|
| 第 4 章 複数コンテナ構成でのアプリケーション構築 | Web/API/MySQL/マイグレータ/リバースプロキシ、Tilt |
| 第 5 章 Kubernetes 入門 | Pod/ReplicaSet/Deployment/Service/Ingress |
| 第 6 章 Kubernetes のデプロイ・クラスタ構築 | タスクアプリのデプロイ、インターネット公開 |
第 3 部: Kubernetes の実践¶
| 章 | テーマ |
|---|---|
| 第 7 章 Kubernetes の発展的な利用 | デプロイ戦略、CronJob、RBAC |
| 第 8 章 Kubernetes アプリケーションのパッケージング | Kustomize、Helm |
| 第 9 章 コンテナの運用 | ロギング、可用性の高い運用 |
第 4 部: イメージ最適化と継続的デリバリー¶
| 章 | テーマ |
|---|---|
| 第 10 章 最適なコンテナイメージ作成と運用 | 軽量ベースイメージ、Multi-stage builds、BuildKit、セキュリティ |
| 第 11 章 コンテナにおける継続的デリバリー | Flux、Argo CD、PipeCD |
| 第 12 章 コンテナのさまざまな活用方法 | 開発環境統一、CLI、負荷テスト |
第 5 部: 国際貨物輸送システムのケーススタディ¶
同一ドメイン(Cargo Tracker)の 4 アーキテクチャを題材に、Compose・Kustomize・Helm を実装・検証して比較します。
| 章 | テーマ |
|---|---|
| 第 13 章 モノリスのデプロイ | Docker Compose 対 Kustomize |
| 第 14 章 イベント駆動マイクロサービスのデプロイ | Kustomize 対 Helm |
| 第 15 章 ES/CQRS マイクロサービス(Axon)のデプロイ | Kustomize 対 Helm |
| 第 16 章 ES/CQRS マイクロサービス(Kafka)のデプロイ | Kustomize 対 Helm |
| 第 17 章 ケーススタディ実装比較まとめ | 全アーキテクチャ × デプロイ手段の総括 |
| 第 18 章 ケーススタディの負荷テスト | Locust(Compose 版 / Kubernetes 版)で 4 ケースに負荷をかける |
付録¶
| 付録 | テーマ |
|---|---|
| 付録 A 開発ツールのセットアップ | WSL2、asdf、kind、Rancher Desktop |
| 付録 B さまざまなコンテナオーケストレーション環境 | GKE、EKS、AKS、オンプレミス、ECS |
| 付録 C コンテナ開発・運用の Tips | コンテナランタイム、Kubernetes Tips、生成 AI 活用、apk |
サンプルコード¶
本シリーズは、以下のサンプルリポジトリのコードを題材に解説します。
| リポジトリ | 内容 |
|---|---|
| echo | 単一コンテナの最小サンプル(Go 製 Hello サーバ) |
| taskapp | 複数コンテナ構成のタスク管理アプリ |
| container-kit | デバッグ・プロキシ・ジョブ用の補助コンテナ集 |
| image-bootstrap | distroless + 非 root + Trivy のセキュアイメージ |
| echo-bootstrap | echo を Kubernetes へデプロイする Kustomize マニフェスト |
| argocd-example-apps | Argo CD 用サンプルアプリ |
| pipecd-examples | PipeCD 用デプロイ定義 |
執筆計画¶
本シリーズの執筆方針と章・ソースの対応は 執筆計画アウトライン を参照してください。
参考文献¶
- 『Docker/Kubernetes 実践コンテナ開発入門(第 2 版)』 — 山田明憲