3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Docker Apacheのコンテナが起動しない

Posted at

この記事はmiriwoお一人様 Advent Calendar 2022の21日目の記事です

概要

  • ApacheとPHPが入っているWebサーバーのDockerコンテナを起動しようとしたところApacheのエラーで起動できなかった。体験談をまとめる。

ご注意

  • 本記事はあくまで自分の環境でのトラブルシューティングです。さらに、後述するエラーのみののトラブルシューティングです。

エラー内容

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using XXX.XXX.XXX.XXX. Set the 'ServerName' directive globally to suppress this message

エラーまでの経緯

  • 開発しようと思って既に用意されていた$ make upコマンドを実行してMySQLとWebのコンテナを一回で起動しようとした。

エラー

  • $ docker psで確認したところMySQLのコンテナしか起動していない。
  • Docker for DesktopでWebコンテナを見てみたら「エラー内容」で紹介したエラーが主力されていた。

解決までの経緯

  • Docker for DesktopからWebコンテナの起動を試みるが、一瞬起動するものの、同様のエラーを出力しコンテナが落ちる。

  • 参考文献に記載されている各リンクの内容を試してみた。apacheのconfで既にServerName localhost:80は設定してあったが一旦コメントアウトしたりしたけど解決しない。

  • エラーは同じだがWeb上の知見と自分の事象が乖離している。

  • Dockerの設定と言ったらdocker-compose.yamlのイメージだったのでWebコンテナの設定を見てみる。

  • 原因判明、Webサーバー用のポートフォワーディングの値が誤っていた。

  • 下記の様に何故かコンテナ内の8099ポートをローカルの80にフォワーディングしていた。。

    docker-compose.yaml
    ports:
          - "8099:80"
    
  • app.confではlocalhostを80ポートで提供するように設定していたので下記の様に修正した。

    docker-compose.yaml
    ports:
          - "80:80"
    
  • 問題は解消しWebコンテナは起動した。

教訓

  • Dockerコンテナが起動しなかったらDocker for Desktopで当該コンテナのログを見よう。
  • エラーコードを検索する時、エラーコードすべてで検索するのではなくかいつまんで調べよう。(今回なら「httpd: Could not reliably determine the server's fully qualified domain name」とかhttpd:apache2:にして検索してみるとか)

参考文献

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?