Docker

GHCR (GitHub Container Registry) とは — Docker Hub との違い、使い方、料金
読了 7分

GHCR (GitHub Container Registry) とは — Docker Hub との違い、使い方、料金

ghcr.io の正体から整理します。GHCR とは何か、Docker Hub と何が違うのか (pull 制限、権限モデル、料金)、PAT の発行から push/pull までの使い方、そして GitHub Actions 連携と運用のコツまで一本でまとめます。

Docker 実戦 #6 クラウドデプロイ — Fly.io / Railway / ECS — トラックの締め
読了 9分

Docker 実戦 #6 クラウドデプロイ — Fly.io / Railway / ECS — トラックの締め

ビルドして push したイメージを実運用に上げる最後の段階。Fly.io · Railway · ECS Fargate 三つの選択肢の分かれ道とそれぞれのデプロイフロー、シークレット管理、ヘルスチェックと zero-downtime、そしてトラック 24 編の振り返り。

Docker 実戦 #5 レジストリへの push とタグ戦略 — :latest の罠
読了 9分

Docker 実戦 #5 レジストリへの push とタグ戦略 — :latest の罠

レジストリ選定(GHCR vs Docker Hub vs ECR)とタグ戦略。:latest がなぜ運用で危険か、semver と SHA タグの位置づけ、immutable タグ、retention ポリシー、イメージサイズ管理まで — push 後の運用を整理します。

Docker 実戦 #4 CI でのイメージビルド — GitHub Actions と BuildKit キャッシュ
読了 8分

Docker 実戦 #4 CI でのイメージビルド — GitHub Actions と BuildKit キャッシュ

GitHub Actions で Docker イメージをビルドして push する定石。docker/build-push-action、BuildKit の GHA キャッシュ (type=gha)、マルチアーキ (amd64+arm64) ビルド、ビルド時 secrets、ビルド時間最適化 — 一ワークフローファイルに整理します。

Docker 実戦 #3 React/Next.js ビルドコンテナ — standalone と NEXT_PUBLIC の扱い
読了 8分

Docker 実戦 #3 React/Next.js ビルドコンテナ — standalone と NEXT_PUBLIC の扱い

Next.js アプリをコンテナに収める流れ。standalone output を使った deps → build → runner の三 stage、NEXT_PUBLIC 環境変数のビルド時刻まれ問題、静的 export オプション、Vite のような SPA を nginx でホスティングする方法まで。

Docker 実戦 #2 Django + PostgreSQL compose — 二つのコンテナを一束に
読了 8分

Docker 実戦 #2 Django + PostgreSQL compose — 二つのコンテナを一束に

Django アプリと PostgreSQL を docker compose 一ファイルに束ねる。マイグレーション entrypoint、depends_on の healthcheck 依存、データボリューム、.env 分離、collectstatic まで — compose が解いてくれる構成を運用形に。

Docker 実戦 #1 FastAPI コンテナ化 — uv・マルチステージ・non-root
読了 9分

Docker 実戦 #1 FastAPI コンテナ化 — uv・マルチステージ・non-root

実戦シリーズの最初の記事。最も典型的なシナリオである FastAPI アプリをコンテナとして束ねる。uv ベースのスリムなベース、マルチステージでビルド依存とランタイム依存を分離、non-root ユーザ、HEALTHCHECK まで — 運用にすぐ乗せられる形で。

Docker 上級 #6 プロダクション運用 — graceful shutdown、healthcheck、restart
読了 9分

Docker 上級 #6 プロダクション運用 — graceful shutdown、healthcheck、restart

PID 1 の信号処理、SIGTERM グレースフル終了の正確な流れ、init と dumb-init の役割、restart 方針の深掘り、liveness vs readiness の概念。一コンテナをプロダクションで安定的に回す細部をまとめて整理します。Docker 上級シリーズの締めくくり。

Docker 上級 #5 リソース制限と cgroups
読了 8分

Docker 上級 #5 リソース制限と cgroups

コンテナのメモリ限界、CPU 限界、OOMKilled の診断、JVM や Node のようなランタイムがコンテナ限界をどう認識するか、そして ulimit / pids のような別の隔離手段まで。cgroups v2 の上で動く限界の正確な動作を整理します。

Docker 上級 #4 SBOM と署名 — サプライチェーンセキュリティの入口
読了 7分

Docker 上級 #4 SBOM と署名 — サプライチェーンセキュリティの入口

このイメージの中に何が入っているかを機械が読める形 (SBOM) で作り、そのイメージを誰が作ったのかを cosign 署名で検証します。xz 事件以降標準になったサプライチェーンセキュリティ道具一式を整理します。

Docker 上級 #3 イメージセキュリティ — non-root, distroless, Trivy スキャン
読了 8分

Docker 上級 #3 イメージセキュリティ — non-root, distroless, Trivy スキャン

コンテナセキュリティの基本道具を一箇所に。USER で非特権ユーザに落とす、read-only ルートと tmpfs、capabilities drop、distroless で攻撃面を狭める、Trivy/Grype の脆弱性スキャン、hadolint の Dockerfile lint まで。

Docker 上級 #2 マルチアーキテクチャイメージ — amd64 と arm64 を一束に
読了 7分

Docker 上級 #2 マルチアーキテクチャイメージ — amd64 と arm64 を一束に

Apple Silicon でビルドしたイメージが運用サーバで動かない事故はマルチアーキビルド一行で消える。manifest list の正体、QEMU emulation のコスト、ネイティブ ARM ビルダー、そして docker buildx imagetools で結果を検証する方法まで。