Docker コンテナ開発・環境構築の基本
- 著者:
- 市川 豊(イチカワ ユタカ)
- 出版社:
- インプレス
- 出版日:
- 2021年07月27日頃
- ISBN:
- 9784295011736
- シリーズ:
- impress top gear impress top gear
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
本書は、アプリケーションエンジニア、インフラエンジニア、オペレーションエンジニアの方々を対象に、コンテナアプリケーション開発の全体を把握し、基本をマスターすることを目標として執筆されています。コンテナアプリケーション開発において必要となる技術の理解を深めるため、実際に手を動かして学ぶ形式を採用しています。これまで著者自身がエンジニアとしてコンテナ技術に携わり、そこで得た知見や経験を体系化し、専門学校、企業向けトレーニング、勉強会でハンズオンを中心に教えてきたノウハウを、一冊の書籍に凝縮しました。
技書の森解説
Docker でイメージを作るところから、Kubernetes でアプリケーションを動かし、CI/CD の仕組みに載せるところまでを、一つのアプリケーションの流れとして手を動かしながら通す入門書です。『Docker コンテナ開発・環境構築の基本』 (市川 豊 著、インプレス、2021 年 7 月 27 日発売) は impress top gear シリーズの一冊で、版元はアプリケーションエンジニア、インフラエンジニア、オペレーションエンジニアを対象に、コンテナアプリケーション開発の全体を把握して基本を身につけることを目標にしていると案内しています。著者は官公庁のシステム基盤を中心にサーバーの設計構築と運用保守、Web システム開発を担当してきた技術者で、専門学校や企業向けトレーニング、勉強会でハンズオンを中心に教えてきた内容を体系化したと版元の紹介文にあります。
全 7 章の構成、Build / Ship / Run から GitOps まで
目次は全 7 章と付録です。第 1 章「コンテナの世界に飛び込む前に」で仮想化の仕組みとコンテナイメージ、「Build/Ship/Run」という考え方を整理し、第 2 章で Docker 環境をセットアップします。第 3 章は「コンテナアプリケーション開発のライフサイクル」として、イメージビルド、イメージレジストリ、コンテナ実行を Build、Ship、Run の順に扱います。後半は第 4 章「コンテナオーケストレーション」で Kubernetes のアーキテクチャとリソース、環境のセットアップに進み、第 5 章で kubectl コマンドとマニフェストの管理を通じて Kubernetes 上でアプリケーションを動かします。第 6 章は Skaffold を利用したローカル開発環境、第 7 章は継続的インテグレーションと継続的デリバリーで、CIOps と GitOps の違いを押さえたうえで CI 環境と CD 環境を構築し、GitOps を実行するところまで進みます。付録には Docker コマンド、Helm コマンド、Dockerfile 命令の一覧が付いています。Docker の操作だけで閉じず、Kubernetes と CI/CD までを一続きの開発工程として並べた構成と読めます。
コンテナとオーケストレーションを一冊でつなぐ意味
コンテナは、ホストの OS カーネルを共有しながらプロセスの見える範囲と使える資源を区切る仕組みで、仮想マシンのように OS ごと起動しないぶん、軽く速く立ち上がります。開発で効くのは、アプリケーションと依存ライブラリをイメージとして固めることで、手元とテスト環境と本番の差を小さくできる点です。ただし、イメージを作って 1 台で動かせるようになっても、本番では複数のコンテナを配置し、落ちたら立て直し、更新を順に入れ替える仕事が残ります。これを受け持つのが コンテナオーケストレーション で、その代表が Kubernetes です。Docker の入門と Kubernetes の入門を別々の本で学ぶと、イメージを作る側の判断がクラスターでの動かし方にどう効くのかが見えにくくなります。本書が第 3 章のレジストリへの登録を挟んで第 4 章のオーケストレーションへ進む並びは、この継ぎ目を一冊の中で埋める意図に沿ったものと読めます。
Skaffold と GitOps を扱う後半の読みどころ
第 6 章の Skaffold は、ソースコードの変更を検知してイメージのビルドと Kubernetes へのデプロイを繰り返す開発用のツールで、コンテナを前提にした開発でも、手元でコードを書いてすぐ動作を確かめる短い往復を保つために使われます。第 7 章の GitOps は、Git リポジトリに置いたマニフェストを正として、クラスターの状態をそこへ合わせ続ける運用の考え方です。CI のパイプラインからクラスターへ直接変更を押し込む CIOps と比べると、誰がいつ何を変えたかが Git の履歴に残り、クラスター側の状態が宣言と食い違えば戻せるという利点があります。目次がこの二つを節として並べているので、デプロイの仕組みをどちらの考え方で組むかを比べながら読めます。
前提知識と刊行時期の注意、向いている読者
前提として、ターミナルでのコマンド操作と、Web アプリケーションの基本的な仕組みが分かっていると読み進めやすいはずです。刊行は 2021 年 7 月で、その後の変化、たとえば 2021 年 8 月に発表された Docker Desktop の利用条件の変更や、2022 年 5 月の Kubernetes 1.24 での dockershim の削除は、刊行時期から見て本書には織り込まれていません。コマンドの細部やツールの版は公式ドキュメントで確かめながら進める読み方が合います。版元のページには正誤表も掲載されています。一方、Dockerfile の書き方やイメージの最適化だけを深く掘りたい場合は、Docker に絞った本のほうが目的に近いでしょう。コンテナ化したアプリケーションを、作るところから Kubernetes に載せて継続的に届けるところまで、全体の地図を先に手に入れたいエンジニアにとって、工程を順に手を動かして通せる本書は、チームで導入を進める前の土台づくりに向いた一冊です。
言及した記事 (17 件)
【読書の夏?】各分野のおすすめ技術書を75冊まとめてみた
♡ 126AWS, Security, 初心者, 技術書, AIクラウドリフト移行検討 第7回 -オラクルさんこんなEC・通販事業のサーバレス化あったの?-
♡ 29kubernetes, container, oci, serverless, ocls【完全保存版】Docker入門から本番デプロイまで
♡ 2Docker, インフラ, dockerfile, container, docker-compose【初心者】実務でPodmanを使う機会があったので、Dockerを学んでみた 🐳
♡ 2Linux, 入門, Docker, 初心者向け, containerDocker環境の構築
♡ 1Docker, Ubuntu, LinuxUbuntu24.04LTSにDockerで動作するOpenCodeをインストールする手順
♡ 1Docker, Ubuntu24.04, opencodeこれだけ知っておけば大丈夫。開発の現場で使われているツールとは
♡ 1初心者向け, 初心者エンジニア[補足リンクまとめ]OpenSSLを用いたプライベートCA作成方法
♡ 0OpenSSL【サルでもわかる】Docker Desktop for Windowsの基礎~実務の初心者ガイド【これだけ!】
♡ 0初心者向け, 自分用メモ, 学習記録, docker-for-windows, DockerDesktop連載第2回:Cloud Runの甘い罠!「コンテナにすれば何でも動く」という誤解とWindows資産の逆襲
♡ 0GoogleCloud, .NET, SQLServer, Windows, ActiveReports
この本は技書デッキのカードです (備え 16 / 気力 +5) 図鑑でこの本を見る
この本に興味がある方におすすめ
関連する本
関連記事
ChatGPT に聞けば済む時代に、あえて本を開く理由
生成 AI で何でも聞ける時代に、技術書を読む意味はあるのか。AI の回答と書籍の知識の決定的な違いを掘り下げ、両者の使い分けを提案します。
LLM / 生成 AI 本ガイド - 仕組み / 実装 / エージェント開発の 3 層で選ぶ (2026 年 8 月時点)
LLM (大規模言語モデル) / 生成 AI を学ぶ技術書の選び方を 3 層 (読み物で仕組みを掴む → 中身を実装で理解する → RAG / AI エージェント開発) で整理。2026 年 8 月時点の定番書と、変化の速い分野で本を選ぶときの注意点を解説します。
技術書の読書ログを GitHub で管理する - エンジニアらしい記録法
技術書の読書記録を GitHub リポジトリで管理する方法を紹介します。Markdown で読書ノートを書き、コミット履歴で読書の軌跡を残す、エンジニアならではの読書ログ術です。