本リポジトリは、Dockerとコンテナ技術を学ぶための書籍型教材です。章立てのMarkdown原稿と、実際に動くDockerfile・docker-compose・Kubernetesのサンプルコードをセットで収録しています。README記載のとおり、内容はDocker Engine v29.x以降を前提にしています。
01から17番台までのディレクトリごとに章立てされたMarkdownファイルがあり、各章にsummary.mdで目次を構成するGitBook形式です。04_imageや11_composeなどの配下にdemoフォルダがあり、buildkitやmultistage-builds、Djangoやredisを使ったcompose構成など、実際にビルド・起動できるコードが置かれています。examples/validated配下には章の説明と完全一致させる「正規サンプル」があり、tools/test_examples.pyというランナーで実行検証します。tests/test_example_validation.pyは、章本文中の canonical-example コメント直後のコードブロックが、この正規サンプルと一字一句一致するかを照合します。さらにtests/test_cjk_typography.pyのように、中国語と英数字の間隔や全角括弧の使い分けといった文章体裁まで自動チェックする独自のガードが存在します。GitHub Actions側ではci.yaml、check-link.yml、pages.ymlなどが、リンク切れチェックやPDFプレビュー、GitHub Pages公開を担っています。
- STEP 01
リポジトリをクローンして、まず01_introduction/1.1_quickstart.mdを開くと、簡単なWebアプリ例でDockerのビルドと実行の流れを追体験できます。
- STEP 02
04_image/demo/buildkit配下のDockerfileをdocker buildすると、node:alpineでビルドしnginx:alpineに成果物をコピーするマルチステージ構成が実際に動きます。
- STEP 03
11_compose/demo/app配下でdocker composeを実行すると、Flaskとredisを組み合わせたカウンターアプリがlocalhostで起動し、アクセス回数が表示されます。
- STEP 04
tests/test_example_validation.pyをpytestで実行すると、章本文中のコードブロックとexamples/validated配下のサンプルが完全一致しているかを検証でき、ズレがあれば失敗します。
- STEP 05
tests/test_cjk_typography.pyを動かすと、中国語と英数字の間隔や全角括弧の表記ゆれを自動検出する仕組みを確認できます。
- STEP 06
GitHub Pages用ワークフロー(pages.yml)の設定を見ると、原稿がビルドされて公開サイトに反映される流れが分かります。
手元に残るのは、Dockerの基礎からKubernetes、etcd、クラウド展開までを網羅した章立て教材と、章ごとにビルド・起動して確認できるDockerfileやcompose定義です。加えて、原稿と実サンプルの一致を保証するテストスイートと文章体裁チェックの仕組みが手に入ります。
本文は簡体字中国語が中心で、日本語訳は用意されていません。
README記載のDocker Engine v29.x前提のcontainerd image store周りの説明は、古いDocker環境では挙動が異なる可能性があります。
examples/validated配下は厳密に検証されていますが、17_ecosystem以降など一部の章のdemoコードは、同様の自動検証対象になっているか本資料からは確認できません。
実際にKubernetesやetcdクラスタの章を試すには、Docker単体よりも多くの環境準備が必要です。
Docker・コンテナ技術を体系的に学びたい人、特に簡体字中国語を読める学習者に向いています。単なる解説書ではなく、章本文と実行可能なサンプルコードをテストで同期させる仕組みがある点は、書籍としての正確性を裏付けています。tests/test_example_validation.pyやtest_cjk_typography.pyの中身を見る限り、原稿の品質管理は口先だけでなく機械的に担保されており、その点でこの評価は実際に動かさなくても十分信頼できます。