第12回: 本番運用チェックリスト(Docker版) — リリース前に必ず確認すべき10の観点
開発環境で動いたDocker構成をそのまま本番に持っていくと、深刻なトラブルが起きることがあります。「イメージタグが latest のまま」「パスワードが secret」「ヘルスチェックなし」——どれか1つでも本番環境で放置すると、障害や情報漏洩につながるリスクがあります。
Month
開発環境で動いたDocker構成をそのまま本番に持っていくと、深刻なトラブルが起きることがあります。「イメージタグが latest のまま」「パスワードが secret」「ヘルスチェックなし」——どれか1つでも本番環境で放置すると、障害や情報漏洩につながるリスクがあります。
Laravelプロジェクトに新メンバーが参加するとき、環境構築だけで1日以上かかることは珍しくありません。PHPのバージョン、Composerのバージョン、MySQL設定……手順書が古くなっていることも多く、試行錯誤が続きます。
PHPとMySQLの開発環境をローカルに手動インストールすると、バージョンの違い・設定の差異・パスの問題など、環境固有のトラブルが絶えません。チームで開発するならなおさらです。
開発環境には「デバッグツール」「ソースコードのバインドマウント」「パスワードの簡略化」など、本番に含めてはいけない設定が多く含まれます。同じファイルを使い回すと、デバッグ機能が本番に混入したり、ソースコードが誤った場所からロードされるリスクがあります。
これはよくあるトラブルです。dependson: db を設定していても、DBのプロセスが起動しただけで「接続を受け付けられる状態」にはなっていない、という状況で起きます。
MYSQLROOTPASSWORD: secret をそのまま compose.yml に書いてGitにコミットすると、リポジトリに秘密情報が残り続けます。これはセキュリティ上の深刻なリスクです。
アプリ・DB・キャッシュを別々に docker run で起動し、毎回コマンドを打つのは非効率です。コマンドが長くなるほど間違いも増えます。