以下の内容はhttps://dk521123.hatenablog.com/entry/2023/12/12/034018より取得しました。


【Docker】Docker ~ トラブルシュート方法 ~

■ はじめに

Docker で色々とトラブった際に使用したTipsを
徐々にまとめていく

目次

【1】docker ps でコンテナの状態チェック
 1)--all , -aオプション
【2】docker logs / docker compose logs でログチェック
 1)docker logsコマンド / docker compose logsコマンド
 2)-fオプション
【3】docker inspect で意図しているイメージになっているか確認
【4】docker execでコンテナ内に入って調査
【5】docker kill でコンテナを停止し、再度やり直してみる

【1】docker ps でコンテナの状態チェック

* docker ps で Docker コンテナの状態をチェックする

コマンド例

docker ps

# 以下も同じ
docker container ps

1)--all , -aオプション

* 全てのコンテナを表示(デフォルトは実行中のコンテナだけ表示)
 => 特に、起動していない時にどうなったかを確認する際に役立つ
 => 以下の関連記事にあるトラブルの調査で使った

Docker compose ~ depends_on ~
https://dk521123.hatenablog.com/entry/2025/10/25/220422

コマンド例

# すべてのコンテナ情報出力
docker ps -a

【2】docker logs / docker compose logs でログチェック

* 【1】で コンテナの状態を確認して
 例えば、状態が「Restarting (1)」がずっと続く現象がでたので
 ログから原因を調査する等で利用できる
 => 因みに、原因は、権限エラーが内部でずっと続いていた

コマンド例

# Container ID を取得
docker ps

# docker logs [CONTAINER ID]
# docker container logs [CONTAINER ID]
docker container logs xxxxxxx

1)docker logsコマンド / docker compose logsコマンド

* Docker コンテナのログ出力

コマンド例

# [Options] Docker image
docker image pull httpd
docker container run -d -p 18081:80 httpd

# [1] CONTAINER IDを調べる
docker ps
# CONTAINER ID   IMAGE     COMMAND              CREATED         STATUS         PORTS
                                   NAMES
# 2738d35917c1   httpd     "httpd-foreground"   7 seconds ago   Up 4 seconds   0.0.0.0:18081->80/tcp, :::18081->80/tcp   wizardly_darwin

# [2] docker logs 実行
# docker logs [CONTAINER ID]
# docker container logs [CONTAINER ID]
docker container logs 2738d35917c1

docker compose logs

# docker compose logs [SERVICE]
docker compose logs backend
# => 以下の関連記事にあるトラブルの調査で使った

Docker compose ~ depends_on ~
https://dk521123.hatenablog.com/entry/2025/10/25/220422

2)-fオプション

* リアルタイムでログを出す
 => Linux の 「tail -f (--follow)」的に使える

tailコマンド
https://dk521123.hatenablog.com/entry/2024/01/29/000000

コマンド例

# docker logs [CONTAINER ID]
# docker container logs [CONTAINER ID]
docker container logs -f xxxxxxx

【3】docker inspect で意図しているイメージになっているか確認

# コンテナIDを調べる
docker ps

# docker inspect (コンテナID)
docker inspect xxxxxx

https://docs.docker.jp/engine/reference/commandline/inspect.html

【4】docker execでコンテナ内に入って調査

コンテナ起動しているが動きがおかしい場合、コンテナ内に入って調査

コマンド例

# Container Name を取得
docker ps

# docker exec -it <コンテナ名> bash
# -i (--interactive)は、標準入力を開き続ける
# -t (--tty) は、コンテナ内で疑似的な仮想端末を割り当ててる
docker exec -it xxxxx bash

【5】docker kill でコンテナを停止し、再度やり直してみる

* 開発環境なら、コンテナを停止し、再度やり直してみるのもあり

コマンド例

# Container IDを取得
sudo docker container ps

# 実行を停止
# sudo docker kill 27f0c47e97eb でも可能
sudo docker container stop 27f0c47e97eb

# 確認
sudo docker container ps

関連記事

Docker ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2020/04/24/160044
Docker ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/02/25/000000
Docker ~ 基本編 / dockerコマンド ~
https://dk521123.hatenablog.com/entry/2020/04/13/000000
Docker ~ 基本編 / docker container コマンド ~
https://dk521123.hatenablog.com/entry/2022/01/20/000000
Docker compose ~ depends_on ~
https://dk521123.hatenablog.com/entry/2025/10/25/220422
Docker に関するトラブル
https://dk521123.hatenablog.com/entry/2017/09/24/162257
Windows / Docker Desktop でのトラブルシューティング
https://dk521123.hatenablog.com/entry/2020/12/11/115814
Proxy環境下でdocker pullしたらエラー
https://dk521123.hatenablog.com/entry/2024/02/08/144941
tailコマンド
https://dk521123.hatenablog.com/entry/2024/01/29/000000




以上の内容はhttps://dk521123.hatenablog.com/entry/2023/12/12/034018より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14