たった 1 日で基本が身に付く! Docker/Kubernetes 超入門
タッタイチニチデキホンガミニツクドッカークーベネティスチョウニュウモン
- 著者:
- 伊藤 裕一(イトウユウイチ)
- 出版社:
- 技術評論社
- 出版日:
- 2020年07月11日頃
- ISBN:
- 9784297114282
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
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 次世代のインフラとアプリ設計について学ぼう
技書の森解説
Docker と Kubernetes を初めて触る人が、コンテナの基本操作から Kubernetes での複数コンテナの管理までを一気に通して学ぶための入門書です。『たった 1 日で基本が身に付く! Docker/Kubernetes 超入門』は伊藤裕一の単著で、技術評論社から 2020 年 7 月 11 日に発売されました。版元は、基礎知識と開発のイメージを 1 日で掴み、サンプルファイルを使って実際にコンテナを操作しながら 1 週間ほどでより実践的なテクニックが身に付くと案内しており、勧める読者として短期間で Docker と Kubernetes の基本を学びたい人を挙げています。
全 8 章の構成、Docker の操作から Kubernetes まで
第 1 章で Docker とコンテナ技術の概要、インストール、コンテナの利用法と使いどころを押さえ、第 2 章ではイメージの利用とレジストリへの登録に加えて、Ansible を使った Docker ホストの構築も扱います。第 3 章は Docker ネットワークとストレージの章で、データの揮発性と永続化を WordPress を例に確かめたうえで、Docker の仕組みを解説します。第 4 章で Dockerfile の基本と小さいイメージの作り方、コンテナ上のアプリを正しく動かす方法、Git と GitHub の使い方を学び、第 5 章では Docker Compose によるマルチコンテナアプリの開発へ進んで、3 階層のアプリを組み立てます。
後半の第 6 章は Docker アプリの CI/CD で、継続的開発とデプロイの考え方から、Docker ベースの CI/CD 環境の準備、パイプラインの実行までを扱います。第 7 章と第 8 章が Kubernetes の章で、アプリの展開と Kubernetes のネットワーク、Kubernetes 用イメージの開発、デプロイメントの使い方を経て、次世代のインフラとアプリ設計についての節で締めくくられます。全 8 章のうち第 1 章から第 6 章までが Docker、第 7 章と第 8 章が Kubernetes を扱います。
コンテナとオーケストレーションを学ぶ背景
コンテナは、仮想マシンのように OS ごと用意するのではなく、ホストの Linux カーネルを共有したまま、Namespace と cgroup によってプロセスから見える範囲と使える資源を区切る技術です。起動が速く、イメージとして持ち運べるため、開発機で動いたものを別の環境でもそのまま動かしやすくなります。一方で、コンテナの数が増えると、どのサーバーで幾つ動かすか、止まったものをどう立て直すかを人手で管理するのは難しくなります。これを自動で引き受けるのが コンテナオーケストレーション で、Kubernetes はあるべき状態を宣言しておくと、実際の状態をそこへ近づけ続けるという考え方を土台にしています。Docker の操作を十分に積み上げてから Kubernetes へ入る本書の順序は、この 2 段の関係に沿ったものです。コンテナ周りの道具は改訂の間隔が短いため、2020 年刊の本書で全体像を掴んだあとは公式ドキュメントで差分を確かめる前提で読むのが現実的です。インフラ系の本の選び方と読む順序は インフラやクラウドの本の選び方 も参考になります。
短期間で Docker の基本を掴みたい開発者に向く理由
刊行時の著者プロフィールでは、伊藤裕一はシスコシステムズに 5 年勤務したのち Nutanix に入社したと紹介されており、専門はデータセンターテクノロジー全般、得意分野はネットワークとサーバー仮想化、プログラミングとされています。本書でも Ansible によるホスト構築やネットワークのように、インフラ側の題材が早い章から入っています。手元でコンテナを動かすところから、Compose での複数コンテナの開発、CI/CD のパイプラインまでを一続きで体験したいアプリケーション開発者に合う内容です。逆に、クラスターの運用や設計を主に学びたい人は、Kubernetes を主題にした本を併せて選ぶ必要があります。
業務でコンテナを使う環境に配属された、あるいは個人の開発で Docker を取り入れたいけれど何から始めればよいか決めきれない人にとって、コンテナの基本から Kubernetes の入口までを 1 冊の流れで手を動かしながら通せるのが本書の強みです。まずは第 1 章のインストールから、サンプルを動かしてみてください。
言及した記事 (14 件)
個人サービス「Ability」の開発記録(Laravel / Vue / AWS / Docker / CircleCI)
♡ 84AWS, CircleCI, Docker高専1年生に読んでほしい技術本N選
♡ 36読書, まとめ, 技術書, 新人, 高専Docker ComposeでSelenium + Pytestが実行できるブラウザ自動テスト環境を立てる
♡ 6Python, Selenium, Docker, テスト自動化, pytestDockerを通じてコンテナ技術について学ぶ ~その2~
♡ 3Docker【Docker】【Jenkins】CI/CD環境を構築する
♡ 2Jenkins, Docker【Docker】マルチステージビルドによる効率化
♡ 2DockerモバイルゲームエンジニアがDockerに入門した話
♡ 2CI, Unity, Docker, 書評【Docker】 Ansibleを使ってDockrtホストを構築する
♡ 1Docker【Docker】docker-compose.yml 学習メモ
♡ 1DockerCentOSでライブラリ(yumコマンド)をインストールしようとしたらTimeOutしてしまってできなかった
♡ 1CentOS, Yum, VM, Docker, Hyper-V
この本は技書デッキのカードです (備え 12) 図鑑でこの本を見る
この本に興味がある方におすすめ
関連する本
関連記事
OS / 低レイヤー本ガイド - コンピューターの仕組みを学ぶ技術書の選び方
OS、コンパイラー、ネットワークなど低レイヤーを学べる技術書の 4 ジャンルと、どこから始めるべきかの指針、賞味期限の見極め方を紹介します。
インフラ / クラウド本ガイド - AWS や Docker を本で学ぶ
クラウドインフラ、コンテナ、IaC を学べる技術書の選び方と学習順序を紹介。インフラ本の賞味期限問題と公式ドキュメントとの使い分けも解説します。
技術書を読む順番の戦略 - 複数冊を組み合わせて理解を加速させる
技術書を 1 冊ずつ読むのではなく、複数冊を戦略的に組み合わせることで、1 冊では届かない理解の深さと広さに達する方法を解説します。
関連用語
Docker
アプリケーションをコンテナとしてパッケージ化し、どの環境でも同じように実行できるプラットフォーム
コンテナ
アプリケーションとその依存関係をパッケージ化し、環境に依存しない一貫した実行環境を提供する仮想化技術
Kubernetes
コンテナのデプロイ、スケーリング、管理を自動化するオープンソースのオーケストレーションプラットフォーム
イミュータブルインフラストラクチャ
サーバーを変更せず、新しいイメージで丸ごと置き換えるインフラ運用手法
ECR
AWS のマネージドコンテナレジストリで、Docker イメージを安全に保存 / 管理 / 配信する
Dockerfile
Docker イメージのビルド手順を記述するテキストファイルで、アプリケーションの実行環境を再現可能にする