Docker

確認・安全な運用

動かないときに見る場所と、削除・公開・秘密情報の注意点を学びます。

Docker入門の講座一覧

01

まずログと状態を見る

ブラウザに表示されない、起動直後に終了する、といった問題では、いきなり削除せず状態とログを確認します。

Docker Composeの調査COMMAND
docker compose ps -a
docker compose logs --tail 100 web
docker compose logs --tail 100 cache

ログが何も出ないときは、アプリケーションが標準出力へログを書いているか、別のログファイルへ保存していないかを確認します。コンテナの状態がExited (1)なら終了コードと直前のログを確認します。

02

inspectとconfigで実際の設定を見る

ファイルに書いたつもりの設定ではなく、Dockerが認識した設定を調べます。

詳細を確認COMMAND
docker inspect study-web
docker port study-web
docker compose config

inspectでは、環境変数、マウント、ネットワーク、起動コマンドなどを確認できます。docker portはポート転送、compose configはComposeの最終的な設定を確認するコマンドです。パスワードなどが環境変数やinspectの出力に出る場合があるため、ログや画面をそのまま共有しないよう注意します。

03

イメージとディスク容量を確認する

使用量を調べる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で必要なものを確認します。特にボリュームはアプリケーションのデータを含むため、イメージやコンテナより慎重に扱います。

04

安全な設定を考える

公開・秘密情報・権限
  • 開発用の管理画面やデータベースを、必要なく外部へ公開しない
  • パスワード、APIキー、秘密鍵をDockerfile、Git、イメージへ含めない
  • 公式または信頼できるイメージを使い、タグと更新状況を確認する
  • 可能ならroot以外のユーザーでアプリケーションを実行する
  • 本番環境ではTLS、バックアップ、更新、脆弱性対応を別途設計する

DockerはホストOS上で動くため、「コンテナだから何をしても安全」と考えてはいけません。公式のDocker Engineのセキュリティ案内や、利用するイメージのドキュメントを確認し、必要な権限だけを与えます。