[Docker] コンテナのログを出力する

1. まずコンテナを起動
$ sudo docker run -dit –name myphp -p 8080:80 myphpimage
http://192.168.56.10:8080/

2. コンテナIDを確認
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
090665612e7b myphpimage “/bin/sh -c ‘/usr/sb…” 5 minutes ago Up 5 minutes 0.0.0.0:8080->80/tcp, :::8080->80/tcp myphp

3. ログを確認
$ sudo docker logs -f 090665612e7b
AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 172.17.0.2. Set the ‘ServerName’ directive globally to suppress this message

あれ…??? 違うimageでやってみます。
$ sudo docker build . -t myhttpd
$ sudo docker images;
$ sudo docker run -dit –name myhttpd -p 8080:80 myhttpd
$ sudo docker ps
$ sudo docker logs -f 6e69ac1678b5
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using 172.17.0.2. Set the ‘ServerName’ directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using 172.17.0.2. Set the ‘ServerName’ directive globally to suppress this message
[Sun Mar 27 06:02:28.200386 2022] [mpm_event:notice] [pid 1:tid 139803119992128] AH00489: Apache/2.4.53 (Unix) configured — resuming normal operations
[Sun Mar 27 06:02:28.201876 2022] [core:notice] [pid 1:tid 139803119992128] AH00094: Command line: ‘httpd -D FOREGROUND’
192.168.56.1 – – [27/Mar/2022:06:02:31 +0000] “GET / HTTP/1.1” 200 213
192.168.56.1 – – [27/Mar/2022:06:03:01 +0000] “GET / HTTP/1.1” 304 –
192.168.56.1 – – [27/Mar/2022:06:03:53 +0000] “-” 408 –

$ docker logs -f ${コンテナID} で出力するのか

### アクセスログのみ表示したい時
$ sudo docker logs 6e69ac1678b5 -f 2>/dev/null
-> 2はエラーログで、/dev/nullは非表示

### エラーログのみ表示したい時
$ sudo docker logs 6e69ac1678b5 -f 1>/dev/null

Dockerのログはコンテナの標準出力(1), 標準エラー出力(2)に書き込まれた内容を表示する

phpのエラーログ
php.iniを以下の様に変更する

error_log = /dev/stderr
[/php]

なるほどー すげー 少しずつ理解できてきた^^