【Docker】Dockerイメージ生成時のログを生成時点で全部表示する方法

 Docker のイメージ生成時には次の様な少ない行数のログが同じ行を書き換えて流れていきます。

[+] Building 2.7s (2/3)
 => [internal] load build definition from Dockerfile                                                                                                                                                                           0.0s
 => => transferring dockerfile: 32B                                                                                                                                                                                            0.0s 
 => [internal] load .dockerignore                                                                                                                                                                                              0.0s 
 => => transferring context: 2B                                                                                                                                                                                                0.0s 
 => [internal] load metadata for docker.io/library/python:3.10.7-alpine3.16             

 これはパッと見た時にどこのなんの処理を行っているか把握するのには便利です。しかしながらエラーログなどのログ全体を追いたい場合には不便です。このログを表示する方法を紹介します。

 イメージ生成時には次の様に--progress=plainとオプションをつけることでログがローテ-トせず、常にコンソールに表示される様になります。

docker build --progress=plain -t 1.0.0 .

 docker-compose buildでも同様に次の様にできます。

docker-compose build --progress=plain app

 こうすると次の様にログ全体が画面に出力されます。

> docker-compose build --progress=plain mailhog                        
Building mailhog
#1 [internal] load build definition from Dockerfile
#1 sha256:4c599f340c5662f232a5422d8166b1883a52da9d0f7ea1cb44ab54fbbec5166c
#1 transferring dockerfile: 32B done
#1 DONE 0.1s

#2 [internal] load .dockerignore
#2 sha256:624208440f1f27ee36c6de5cab7b8212857198b12c2a020efeab7424dac97655
#2 transferring context: 2B done
#2 DONE 0.0s

#3 [internal] load metadata for docker.io/library/python:3.10.7-alpine3.16
#3 sha256:91ab3f077ac28dd4f38a7ff51d15d751c4ec432695edd0f8539ff574e96b5ac0
#3 DONE 3.6s

 その場で初見のイメージをビルドしたり、イメージを作ったりする時にはこの--progress=plainオプションをつけておくと便利です。問題が発生した際、それがどこで何が原因で起きたか追いやすくなります。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG