Docker/Kubernetes実践コンテナ開発入門 改訂新版
2024年2月24日紙版発売
2024年2月24日電子版発売
山田明憲 著
B5変形判/600ページ
定価3,960円(本体3,600円+税10%)
ISBN 978-4-297-14017-5
書籍の概要
この本の概要
話題のコンテナ技術,Docker/Kubernetesの基礎から実際にアプリケーションを作るまでを解説した入門書です。Docker/Kubernetesを実際の現場で活用している著者が最新情報や実践スキルをわかりやすく解説します。
ローカル環境での検証はもちろん,Google Kubernetes Engineへのデプロイなどクラウドでの実践にも触れています。コンテナを中心とした開発スタイル,実践的なCD(継続的デリバリー)入門など現場で本当に必要な知識が身につきます。
Docker/Kubernetesをきちんと本番で使うための王道的な解説を中心としつつ,CLIツールとしてDockerを導入したい,オンプレでKuberentesを使いたいといったニーズにも応える盛りだくさんの一冊です。
こんな方におすすめ
- Docker/Kubernetesといったコンテナ技術で実際にツールやサービスを構築したい方
- コンテナの基礎から実践まで一通り学びたい方
- コンテナの基礎はわかって実際に動かすところを体験したい方
- コンテナ中心の現代的なソフトウェアデリバリーに興味のある人
本書のサンプル
本書の紙面イメージは次のとおりです。画像をクリックすることで拡大して確認することができます。
目次
1 コンテナとDockerの基礎
- 1.1 コンテナとは
- 1.2 Dockerとは
- 1.3 コンテナを利用する意義
- 1.4 ローカルコンテナ実行環境の構築
2 コンテナのデプロイ
- 2.1 コンテナでアプリケーションを実行する
- 2.2 簡単なアプリケーションとコンテナイメージを作る
- 2.3 イメージの操作
- 2.4 コンテナの操作
- 2.5 運用管理向けコマンド
- 2.6 Docker Compose
3 実用的なコンテナの構築とデプロイ
- 3.1 アプリケーションとコンテナの粒度
- 3.2 コンテナのポータビリティ
- 3.3 コンテナフレンドリなアプリケーション
- 3.4 クレデンシャル(秘匿情報)の扱い方
- 3.5 永続化データの扱い方
4 複数コンテナ構成でのアプリケーション構築
- 4.1 Webアプリケーションの構成
- 4.2 MySQLの構築
- 4.3 データベースマイグレータの構築
- 4.4 APIサーバとWebサーバの構築
- 4.5 リバースプロキシの構築
- 4.6 複数コンテナ構成でタスクアプリを実行する
- 4.7 Tiltで複数コンテナ構成の開発体験を向上させる
- 4.8 コンテナオーケストレーションの基礎を経て
5 Kubernetes入門
- 5.1 Kubernetesとは
- 5.2 ローカル環境でKubernetesを実行する
- 5.3 Kubernetesの概念
- 5.4 KubernetesクラスタとNode
- 5.5 Namespace
- 5.6 Pod
- 5.7 ReplicaSet
- 5.8 Deployment
- 5.9 Service
- 5.10 Ingress
- 5.10.1 IngressコントローラーとIngressClass
- 5.10.2 Ingressを通じたアクセス
6 Kubernetesのデプロイ・クラスタ構築
- 6.1 タスクアプリの構成
- 6.2 タスクアプリをKubernetesにデプロイする
- 6.3 Kubernetesのアプリケーションをインターネットに公開する
7 Kubernetesの発展的な利用
- 7.1 Podのデプロイ戦略
- 7.2 Kubernetesでの定期的なバッチジョブの実行
- 7.3 ユーザ管理とRole-Based Access Control(RBAC)
8 Kubernetesアプリケーションのパッケージング
- 8.1 Kustomize
- 8.2 Helm
9 コンテナの運用
- 9.1 ロギングの運用
- 9.2 可用性の高いKubernetesの運用
10 最適なコンテナイメージ作成と運用
- 10.1 運用に最適なコンテナイメージとは
- 10.2 軽量なベースイメージ
- 10.3 軽量なコンテナイメージを作る
- 10.4 Multi-stage builds
- 10.5 BuildKit
- 10.6 セキュアなコンテナイメージの利用と作成
- 10.7 CIツールでコンテナイメージをビルドする
11 コンテナにおける継続的デリバリー
- 11.1 継続的デリバリーとは
- 11.2 Flux
- 11.3 Argo CD
- 11.4 PipeCD
- 11.5 ソフトウェアデリバリーの完全自動化
12 コンテナのさまざまな活用方法
- 12.1 チーム開発で開発環境を統一・共有する
- 12.2 コマンドラインツール(CLI)をコンテナで利用する
- 12.3 負荷テスト
App.A 開発ツールのセットアップ
- A.1 WSL2
- A.2 asdf
- A.3 kind
- A.4 Rancher Desktop
App.B さまざまなコンテナオーケストレーション環境
- B.1 Google Kubernetes Engine(GKE)
- B.2 Amazon Elastic Kubernetes Service(EKS)
- B.3 Azure Kubernetes Service(AKS)
- B.4 オンプレミス環境でのKubernetesクラスタの構築
- B.5 Amazon Elastic Container Service(ECS)
App.C コンテナ開発・運用のTips
- C.1 コンテナランタイム
- C.2 KubernetesのTips
- C.3 コンテナ開発,デプロイのTips
- C.4 生成AI技術を活用したコンテナ開発の効率化
- C.5 Alpine Linuxのパッケージマネージャ apk
この本に関連する書籍
-
[改訂新版]イラストでわかるDockerとKubernetes
Dockerとkubernetesは,Webだけでなくさまざまなシステムで利用されています。OSの仮想化とは違う技術なので,エンジニアの皆さんもその本質を理解して,現場に応用して...
-
基礎から学ぶコンテナセキュリティ ――Dockerを通して理解するコンテナの攻撃例と対策
Dockerの普及に伴い,コンテナ技術はすっかり一般化しました。開発環境の構築から,本格的なコンテナアプリケーションの運用まで,利用方法はさまざまです。Dockerおよ...
-
Docker/Kubernetes 実践コンテナ開発入門
話題のコンテナ技術,Docker/Kubernetesの基礎から実際にアプリケーションを作るまでを解説した入門書です。Docker/Kubernetesを実際の現場で活用している著者が最新情...