#Docker
26 件の記事
Docker 上級 #2 マルチアーキテクチャイメージ — amd64 と arm64 を一束に
Apple Silicon でビルドしたイメージが運用サーバで動かない事故はマルチアーキビルド一行で消える。manifest list の正体、QEMU emulation のコスト、ネイティブ ARM ビルダー、そして docker buildx imagetools で結果を検証する方法まで。
Docker 上級 #1 BuildKit と buildx — ビルダーの正体
中級シリーズで有効にしておいた BuildKit を一段深く見る。LLB と frontend の構造、buildx の builder インスタンス (docker-container vs docker)、--output の様々な形、そして docker buildx bake で多段ビルドを宣言的にまとめる方法まで。
Docker 中級 #6 ロギングとデバッグ
複数コンテナのログを一箇所で扱い、log driver を切り替え、exec・inspect・stats・dive でコンテナの中とイメージを覗く。Docker 中級シリーズを一サイクルで締める。
Docker 中級 #5 環境変数と secrets 管理
環境変数注入の様々な形、.env ファイルと変数補間、env_file vs environment の違い、compose の secrets、BuildKit ビルドシークレット、そしてイメージに秘密が刻まれる最も典型的な間違いまで整理します。
Docker 中級 #4 compose 深掘り — depends_on, healthcheck, profiles
compose.yaml に運用感覚を加える段階。healthcheck で DB が本当に準備できたかを見て、depends_on の condition で意味のある開始順序を立て、profiles で dev/test/prod を一つのファイルから分岐します。override ファイルと restart 方針まで。
Docker 中級 #3 docker compose 基礎 — web + db を一つのファイルで
複数のコンテナを一つのファイルに定義して一つのコマンドで起動する道具。compose.yaml の service / network / volume 構造、実践 web + postgres のセットアップ、up · down · logs · ps の日常フローまで整理します。
Docker 中級 #2 ビルドキャッシュ — BuildKit とレイヤー順序の最適化
BuildKit がデフォルトになった Docker ビルドのキャッシュを本格的に扱う。レイヤーキャッシュが壊れやすい箇所を見極め、--mount=type=cache で npm/pip キャッシュをビルド間で共有し、COPY --link でビルドを並列化し、GHA / レジストリの外部キャッシュまで。
Docker 中級 #1 マルチステージビルドとイメージスリミング
一つの Dockerfile の中に複数のステージを置いてビルド依存とランタイム依存を分離します。Go・Node・Python それぞれに合うマルチステージパターン、distroless と scratch まで — イメージを GB から数十 MB に減らす流れを整理します。
Docker 基礎 #6 .dockerignore とビルドコンテキスト — キャッシュをうまく使う
ビルドが遅くなったりイメージが膨れる最も典型的な原因はビルドコンテキストを誤って扱ったこと。コンテキストとは何か、.dockerignore でどう削るか、そしてレイヤーキャッシュが壊れやすい箇所を踏まえて命令順序を組む方法を整理します。Docker 基礎シリーズの締め。
Docker 基礎 #5 レジストリ — Docker Hub, GHCR, push/pull
自分が作ったイメージを別のマシンでも使うにはレジストリにアップロードする必要があります。イメージ名の構造、Docker Hub と GHCR のログイン、tag・push・pull の流れ、そしてダイジェストでイメージを正確に固定する方法まで整理します。
Docker 基礎 #4 ボリュームとネットワーク — データと通信
コンテナが死ぬと一緒に消えるデータをどう生かすか、そしてコンテナ同士をどうやって名前で呼び合うか。bind mount と named volume の違い、bridge / host / none ネットワークモード、そして -p ポートマッピングまで一箇所に整理します。
Docker 基礎 #3 イメージとコンテナ — build, run, ps, logs, exec
Docker CLI の日常コマンド群を一箇所に整理します。build のオプション、run のよく使うフラグ (-d, --name, --rm, -e)、そして ps・logs・exec・stop・rm に続くコンテナのライフサイクルまで。