まずログと状態を見る
ブラウザに表示されない、起動直後に終了する、といった問題では、いきなり削除せず状態とログを確認します。
Docker Composeの調査COMMAND
docker compose ps -a
docker compose logs --tail 100 web
docker compose logs --tail 100 cacheログが何も出ないときは、アプリケーションが標準出力へログを書いているか、別のログファイルへ保存していないかを確認します。コンテナの状態がExited (1)なら終了コードと直前のログを確認します。
inspectとconfigで実際の設定を見る
ファイルに書いたつもりの設定ではなく、Dockerが認識した設定を調べます。
詳細を確認COMMAND
docker inspect study-web
docker port study-web
docker compose configinspectでは、環境変数、マウント、ネットワーク、起動コマンドなどを確認できます。docker portはポート転送、compose configはComposeの最終的な設定を確認するコマンドです。パスワードなどが環境変数やinspectの出力に出る場合があるため、ログや画面をそのまま共有しないよう注意します。
イメージとディスク容量を確認する
使用量を調べるCOMMAND
docker system df
docker image ls
docker container ls -a
docker volume ls表示例OUTPUT
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 5 2 1.2GB 640MB
Containers 4 1 80MB 60MB使っていないイメージや停止済みコンテナが増えるとディスクを消費します。自動削除コマンドを使う前に、docker image ls、docker volume lsで必要なものを確認します。特にボリュームはアプリケーションのデータを含むため、イメージやコンテナより慎重に扱います。
安全な設定を考える
公開・秘密情報・権限
- 開発用の管理画面やデータベースを、必要なく外部へ公開しない
- パスワード、APIキー、秘密鍵をDockerfile、Git、イメージへ含めない
- 公式または信頼できるイメージを使い、タグと更新状況を確認する
- 可能ならroot以外のユーザーでアプリケーションを実行する
- 本番環境ではTLS、バックアップ、更新、脆弱性対応を別途設計する
DockerはホストOS上で動くため、「コンテナだから何をしても安全」と考えてはいけません。公式のDocker Engineのセキュリティ案内や、利用するイメージのドキュメントを確認し、必要な権限だけを与えます。