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

■ はじめに

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

目次

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

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

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

コマンド例

docker ps

# 以下も同じ
docker container ps

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

【2】docker 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 コンテナのログ出力

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でコンテナ内に入って調査

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

コマンド例

# 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 に関するトラブル
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