ISBN 9784296106424

さわって学ぶクラウドインフラ docker基礎からのコンテナ構築

さわって学ぶクラウドインフラ docker基礎からのコンテナ構築
出版社
日経BP
刊行
2020-06

概要

Docker を手を動かして学び、コンテナ環境を自分で構築できる状態に到達する

想定読者

Linuxサーバーの基礎知識はあるが、コンテナ技術は未経験のインフラ入門者・アプリ開発者

こんな人には向いていない

  • Docker Compose や Kubernetes を本番環境で既に運用している人には基礎説明の比重が大きすぎる
  • 理論・アーキテクチャ設計の深掘りを期待する人向けではなく、実践ハンズオン中心の構成
  • コマンドラインやLinux操作に全く触れたことのない完全初学者には前提知識の補完が必要

読了後にできるようになること

  • Dockerのインストールから基本コマンドまでの操作を一通り実行できる
  • コンテナ内のファイル永続化(ボリューム)とネットワーク設定を理解して構成できる
  • Docker Compose で複数コンテナを連携させる開発環境を構築できる
  • Dockerfileでカスタムイメージを自作する手順を習得できる
  • Minikubeを使ったKubernetesの基本操作を体験し、Amazon EKSへの展開の入口を理解できる

本書のキー概念(章解説)

  • 第 1 章 コンテナの仕組みと利点 — コンテナ仮想化の概念を整理する導入章。理論は最小限で次章以降の実践の土台に絞られている
  • 第 2 章 Dockerを利用できるサーバーを作る — 環境構築の段階。ここでつまずくと後続が全て止まるため丁寧に進めたい
  • 第 3 章 5分でWebサーバーを起動する — 最初の成功体験を素早く得られる章。モチベーション維持に効果的
  • 第 4 章 Dockerの基本操作
  • 第 5 章 コンテナ内のファイルと永続化 — ボリューム設計は実務で最初に迷う箇所。ここを丁寧に読むと後の開発環境構築がスムーズになる
  • 第 6 章 コンテナのネットワーク
  • 第 7 章 複数コンテナをまとめて起動するDocker Compose — 実務での使用頻度が最も高い章。開発環境の標準構成を習得できる
  • 第 8 章 イメージを自作する — Dockerfileの書き方を習得する章。CI/CDパイプラインへの応用につながる
  • 第 9 章 Kubernetesを用いたコンテナ運用 — Minikubeで体験後にAmazon EKSへの入口まで扱う。入門的な位置付けで深掘りは別書が必要

ハイライト

  • Dockerのメリットから始まり、コンテナの操作方法や、ネットワークを利用したコンテナの連携を学ぶことができます。(Docker学習のロードマップ記事で本書を推奨する際に使われた紹介文。体系的な学習経路を示している)
  • Docker基礎からのコンテナ構築 Kindle版を読み進めてる中で遭遇しました。(本書を実際に読み進めながら発生したトラブルを記録した記事。手を動かして学ぶ書籍の性質がよく表れている)
  • 本書では「迷子にさせない」工夫が満載されており、本書の通りに実施すれば、迷うことなく、コンテナ環境を構築できます。(著者自身が本書の最大の特徴として強調する設計方針。迷子になりやすいDocker学習の障壁を意識して設計されている)

外部からの言及

  • Web系エンジニア転職やポートフォリオ作成の学習ロードマップ記事で、Docker入門の推奨書として繰り返し挙げられている。独学60〜80時間規模の学習期間に対応する書籍として位置づけられることが多い(qiita)
  • 他のDocker入門書を読んで挫折した読者が本書で理解できたという体験が報告されており、初学者への説明の丁寧さが評価されている。Kubernetesまでカバーしている点も入門書としてのスコープの広さとして言及されている(qiita)
  • 本書を読み進めながら発生した具体的なトラブル(EC2上のApacheコンテナへのアクセス403問題など)を記録した記事が存在し、実際に手を動かして学ぶ読者が多いことが示されている(qiita)

編集メモ

Qiita確認済み言及6件 / 累計likes 435 / 転職・ポートフォリオ作成記事での参照が中心で、Docker入門書として一定の実績あり。essential基準(10件以上かつ200likes以上)は満たすlikes数だが件数が基準未満のためpracticalと判定

読む前に押さえておきたいこと

  • LinuxのCLI基本操作(ファイル操作・パーミッション・プロセス管理)の経験
  • HTTPとWebサーバーの基本的な仕組みへの理解(ポート番号・リクエスト・レスポンスの概念)
  • 仮想マシン(VMやVirtualBox)を一度でも使ったことがあるとコンテナの概念との対比が理解しやすい

学習のコツ

  • 第3章で最初のWebサーバー起動を体験してから第2章に戻って環境構築の意味を確認すると、セットアップ手順の目的が腹落ちしやすい
  • 第5章(永続化)と第6章(ネットワーク)は、第7章のDocker Composeを読む前に必ず理解しておきたい。ここが曖昧だとdocker-compose.ymlの記述の意味が追えなくなる
  • 第9章のKubernetesは入門的な扱いに留まる。本番Kubernetes運用を目指す場合は本書でMinikubeを動かした後、専門書を別途用意することを前提にする
  • Dockerfileの自作(第8章)はCI/CD環境構築やチーム開発に直結するスキルなので、転職・実務を見据えるなら特に重点的に手を動かして進める
出版社による内容紹介

デファクト技術の「コンテナ」 「わかる」から「使える」へ  サーバー環境だけでなく幅広く使われている「コンテナ技術」は、もはやデファクト技術と言っても言い過ぎではないでしょう。インフラ技術者だけでなく、アプリケーション開発者にとっても重要な技術です。  本書は、自分でコンテナ環境を構築できるようになるための本です。題材に「Docker」を使いました。「技術解説書」というより「技術実践書」。IT技術を本当に理解するには理論の学習だけでは不十分で、実際にさわってみることが大事です。そうすることで初めて腹落ちし、「技術がわかる」状態から、「技術が使いこなせる」状態にレベルアップすることができます。  本書では、Dockerのインストール方法に始まり、基本的なWebサーバーを起動させるところから、永続化、ネットワーク、コンテナイメージへと順番に学ぶことができます。さらに、複数のコンテナを使うことを想定し、「Docker Compose」や「Kubernetes」についても学習できます。Kubernetesは学習ツールとして「Minikube」を用い、最終的に「Amazon EKS」でコンテナを実行するはじめの一歩までを説明します。  新しい技術の習得は、想像している以上に難しいものです。理解できていない状況でやみくもに技術に触れても、迷子になるばかり。本書では「迷子にさせない」工夫が満載されており、本書の通りに実施すれば、迷うことなく、コンテナ環境を構築できます。  インフラ技術者の最初の1冊として執筆していますが、アプリケーション開発者のインフラ学習書としても最適です。ぜひあなたも、本書を活用してコンテナ技術を習得してください。 第1章 コンテナの仕組みと利点 第2章 Dockerを利用できるサーバーを作る 第3章 5分でWebサーバーを起動する 第4章 Dockerの基本操作 第5章 コンテナ内のファイルと永続化 第6章 コンテナのネットワーク 第7章 複数コンテナをまとめて起動するDocker Compose 第8章 イメージを自作する 第9章 Kubernetesを用いたコンテナ運用

この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。

質問に答えるだけで、
あなたに合う専門書が見つかる

IT・デザイン・士業・医療・経理・教育・研究 ほか、あらゆる分野の専門書と 「読む順序」(学習ロードマップ)を収録。何を選べばいいか分からなくても、 いくつかの質問に答えるだけでたどり着けます。