概要コンテナログの確認方法コンテナログへの出力方法WordPress環境のコンテナログ出力方法NGINXphpWordPress(phpアプリケーションログ)WordPress用のPluginを作成しましたコンテナログに出力するメリット最後に概要Dockerを使用していると、コンテナ内で動いてるアプリケーションやミドルウェアのログを確認する際にコンテナ内に入ってログファイルを見なければいけません。解決策の1つとして、ログファイルをホストOSにマウントしておくという手段があります。今回は別の解決策として、コンテナのログにアプリケーションログでも何でも出力しちゃおうという解決方法になります。目次へ戻るコンテナログの確認方法Dockerのコンテナログは以下コマンドで確認できます。開発を進める際には出力されるログを確認しながら行いたいと思うので、その場合は以下コマンドで最新のログを出力し続けます。(stderr)に書き込まれた内容を表示します。アプリケーションログでもサーバーログでも、出力先を「stdout」又は「stderr」に設定すればコンテナログとして確認できるようになります。例として、WordPress環境のログをコンテナログに出力する場合を記載します。目次へ戻るWordPress環境のコンテナログ出力方法NGINXaccess_log及びerror_logの出力先を変更します。confファイル内で以下のように設定します。/dev/stderr;phperror_logの出力先を変更します。php.iniで以下のように設定します。/dev/stderrWordPress(phpアプリケーションログ)phpでstdoutにログメッセージを出力するには、以下のように記載します。);異常時に出力するログメッセージの場合、pathを以下に変更し、stderrに出力します。'php://stderr';目次へ戻るWordPress用のPluginを作成しましたDocker環境で動作してるWordPress用にphpアプリケーションログを出力するメソッドを追加するプラグインを作成しました。Log-For-Dockerプラグインを有効化した後、ログ出力したい箇所に以下を記載するとコンテナログに$messageの内容を出力します。);配列などでもprint_rして出力するので中身を確認したい変数などあればそのまま渡してください。目次へ戻るコンテナログに出力するメリットDockerのコンテナは、起動時にオプションを設定することでログにも様々な設定ができます。Logsに送れるログローテートの設定が簡易にできるなどです。ログファイルが分かれると、そのログファイル毎にローテートの設定をしなければいけませんがコンテナログでしたらコンテナ起動時に設定するだけで後は自動でやってくれます。目次へ戻る最後に今回はDockerのコンテナログに書き込む方法を紹介しました。Dockerはログにも様々なオプションがあるので、上手く組み合わせると少ない設定で便利な機能を使えるようになると思いました。docker-compose.ymlにもログのオプションは記載できるので共通のymlファイルを使用すれば、それぞれの環境で無意識にローテートが行われるようにできるのも魅力ですね。私たちと一緒に働きませんか?「Dockerコンテナ内の様々なログをコンテナログに集約する」はいかがでしたか?株式会社プレスマンでは、WordPressが大好きな方、仕事を通してさらにスキルを磨きたい方を募集しています。募集職種をご覧の上、お気軽にお問い合わせください。あなたとお会いできるのを楽しみにしています。PRESSMANプレスマンのスタッフブログです。和直デグーと卓球を愛するCTO。開発スピードに自信あり。自身のスピードとWordPressの機能を掛け合わせ、ハイスピードで開発タスクを進めるのに楽しさを感じます。株式会社プレスマンのWebマーケティング部によるスタッフブログです。PRESSMAN*Tech.。