
まずはやったことを箇条書きスタイルで書きます。
Docker入門のため、あえてdocker-composeは使わずコマンドを打ってコンテナを立てている。
その中で、Docker Hubのnginx:latestとwordpress:php8.0-fpmを使ってWordPressを構築しようと試みた。(DBは今回の件に直接関係無いので置いておく。)
コンテナ間でデーターを共有する必要があるので、バインドマウントをするために、
nginxのdocker run時に-v D:¥wp:/usr/share/nginx/html
WordPressのdocker run時には-v D:¥wp:/var/www/html
とオプションを付与し、ホスト側のパスとDocker Hubでドキュメントに記載されていたパスをそれぞれ紐付けた。(ネットワークもそれぞれ同じものを指定しているので同一ネットワークにいる)
しかし、ホストからブラウザーを使ってnginxにアクセスしても404が返って来てしまった。
WordPressのファイルが生成されていることはホスト側からもそれぞれのコンテナからも確認済みなので、nginxの設定ファイル(/etc/nginx/conf.d/default.conf)を見てみたが特におかしいところはなかった。(中身もWordPress用に編集した)
試行錯誤している途中で、設定ファイルで定義しているベースディレクトリを/usr/share/nginx/htmlから/var/www/htmlに変更したところ、404が出なくなった。
と言ったことがありました。
ここで不可解なのは、お互いのコンテナは独立しているはずなのに、nginxのコンテナから、nginxのコンテナには存在しないパスを参照できているということです。
それと、「WordPressのコンテナの中の/var/www/html」とも指定していないのに勝手にWordPressのコンテナの中を見に行っているという挙動も謎です。(見に行っているという表現は正しく無いと思いますが何が起こってるのか謎なのでこう言った言い回しになってます)
おそらくボリュームが関係しているのだと思いますが意味が分かりません。
詳しい方ご教授願えませんでしょうか。



回答1件
あなたの回答
tips
プレビュー