Docker/Kubernetes実践コンテナ開発入門 改訂新版

[表紙]Docker/Kubernetes実践コンテナ開発入門 改訂新版

紙版発売
電子版発売

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

サンプル画像2

サンプル画像3

サンプル画像4

サンプル画像5

目次

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

著者プロフィール

山田明憲(やまだあきのり)

株式会社サイバーエージェント所属。ライブ配信サービスの開発やDeveloper Productivity室の責任者を歴任。組織横断での開発生産性向上,コスト削減・品質担保・チャンスポイント増加などによるサービス開発の支援を行う。

コンテナを活用する開発やソフトウェアデリバリーの技術に造詣が深い。

X: stormcat24
GitHub: stormcat24