書籍の「docker基礎からの構築」で勉強してます。
第7章にWordPressコンテナとMySQLコンテナを使い、WordPressを表示する内容があります。
以下のようにコンテナを起動しました。
※ボリュームとネットワークは事前に作成済み
WordPressコンテナ
$ docker run --name wpapp -dit -p 8080:80 -e WORDPRESS_DB_HOST=wpdb -e WORDPRESS_DB_NAME=db -e WORDPRESS_DB_USER=user -e WORDPRESS_DB_PASSWORD=user --net wpnet wordpress
MySQLコンテナ
docker run --name wpdb -dit -v wp_db_volume:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=db -e MYSQL_USER=user -e MYSQL_PASSWORD=user --net wpnet mysql:5.7
「localhost:8080」にアクセスするとブラウザに表題のエラーが表示されました。
そこでdocker logsを確認しました。
$ docker logs wpapp WordPress not found in /var/www/html - copying now... Complete! WordPress has been successfully copied to /var/www/html No 'wp-config.php' found in /var/www/html, but 'WORDPRESS_...' variables supplied; copying 'wp-config-docker.php' (WORDPRESS_DB_HOST WORDPRESS_DB_NAME WORDPRESS_DB_PASSWORD WORDPRESS_DB_USER) AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.19.0.3. Set the 'ServerName' directive globally to suppress this message AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.19.0.3. Set the 'ServerName' directive globally to suppress this message [Fri Aug 20 10:36:25.281683 2021] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.48 (Debian) PHP/7.4.22 configured -- resuming normal operations [Fri Aug 20 10:36:25.282018 2021] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND' 172.19.0.1 - - [20/Aug/2021:10:37:09 +0000] "GET / HTTP/1.1" 500 2834 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36"
####試したこと
ログのこの部分に着目し調べました。
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.19.0.3. Set the 'ServerName' directive globally to suppress this message
'ServerName' directive globally to suppress this messageというエラーが
ここによると、「httpd.confにホスト名(ServerName )が設定されていないことが原因」とあります。
以下のようにhttp.confを編集するよう書いてありました。
Apacheのバージョンは「2.4.20」
# vi /usr/local/apache2/conf/httpd.conf
ですが当方の環境には「apache2」ディレクトリが見当たりませんでした。
ls /usr/local/ bin etc games include lib man php sbin share src var
apacheのバージョンが異なるのかと思い調べると、そこまで異なってませんでした。
root@d6ec05f235fa:/var/www/html# apachectl -v Server version: Apache/2.4.48 (Debian) Server built: 2021-08-12T11:51:47
ここでいったんhttp.confは諦めて、単純に接続情報の入力間違いを確認しようと思いました。
「wp-config.php」を確認しました。
すると下記のような初期状態?で、コンテナ起動時に設定した接続情報ではありませんでした。
define( 'DB_NAME', getenv_docker('WORDPRESS_DB_NAME', 'wordpress') ); define( 'DB_USER', getenv_docker('WORDPRESS_DB_USER', 'example username') ); define( 'DB_PASSWORD', getenv_docker('WORDPRESS_DB_PASSWORD', 'example password') );
なのでコンテナ起動時に合わせて編集してみました。
define( 'DB_NAME', getenv_docker('WORDPRESS_DB_NAME', 'db') ); define( 'DB_USER', getenv_docker('WORDPRESS_DB_USER', 'user') ); define( 'DB_PASSWORD', getenv_docker('WORDPRESS_DB_PASSWORD', 'user') );
これでも表題のエラーで変わりませんでした。
エラーログも変わりないようです。
どうすれば繋がるでしょうか?
分かる方教えていだけると幸いです。
宜しくお願いします。
あなたの回答
tips
プレビュー