🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

1回答

4390閲覧

Dokerを使用しているがApacheでlocalhost?に繋がらない。

ss-kitagawa

総合スコア0

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

2グッド

1クリップ

投稿2021/03/03 01:15

編集2021/03/03 06:39

初心者ですので、分かりづらい点あれば申し訳ございません。

★解決したいこと
・ブラウザに表示されない問題を解消したいです。
※localhostに繋げたい。

★発生している問題・エラー
このサイトにアクセスできません。
イメージ説明

自分で試したこと
ここに問題・エラーに対して試したことを記載してください。

1.docker-compose.ymlでappのportsは50080:80になっているか
2. docker/app/Dockerfileでsrcディレクトリを/var/www/htmlにコピーしているか
3. Dockerfileでsrcディレクトリを/var/www/htmlにコピーしているか
4. Dockerのappというコンテナに入り、new.phpは「/var/www/html/companies/new.php」にあるか。
※new.phpは表示させたいファイルです。
イメージ説明

5.appコンテナ内でApacheが起動しているか確認。
イメージ説明

6.念の為Apacheを再起動
7.appコンテナとdbコンテナが起動していることを確認
イメージ説明

8.appコンテナのログを確認
イメージ説明

9.ここまでで下記は判明しております。
・Apacheは問題なく起動している
・(ログから)Apacheに通信が届いていない

10.src直下にファイル(src/index.php)を作成し、簡単な処理を実行。

<?php echo 'hello'; 10-1. コマンドでこちらは実行できることを確認済み docker-compose exec app php index.php 10-2. Apache経由から実行できることを確認するが、ブラウザで次のURLにアクセスするが、「このサイトにアクセスできません」と表示される。 http://localhost:50080/index.php http://127.0.0.0:50080/index.php このような状況です。 長くなり申し訳ございませんが、大変困っております。 どうか助言頂けますと幸いです。 何か必要な情報があればお伝え致します。 いくつか画像で情報をアップ致しますのでご確認頂けますと幸いです。 ★階層 ![イメージ説明](bb6651689ad3869af151908f7c4281d4.jpeg) ★docker-compose.ymlの中身! ![イメージ説明](13f0cdc0caaeeb72c2f80403ce3f4823.jpeg) ★Dockerfileの中身 ![イメージ説明](71f87b4db640e8dd81e7ac38ab5b030a.jpeg) ★docker/app/Dockerfileの中身 ![イメージ説明](fccf7f8bb8fbd436291791060321a1c4.jpeg) ★ローカルPCのhostsの設定? ![イメージ説明](83698df69fa685e34f34dfa5ca92ddbf.jpeg) 下記情報の追記になります。 使用しているOSの情報:Windows10 - 使用しているDockerのバージョン:v20.10.2 - 使用しているDocker Composeのバージョン: 1.27.4, - 最後の「ローカルPCのhostsの設定?」で示しているファイルのフルパス C:/Windows/System32/drivers/etc/hosts
taiyakikun, FKM👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

msiz07

2021/03/03 05:57

以下の情報を追加してもらえますか? - 使用しているOSの情報 - 使用しているDockerのバージョン - 使用しているDocker Composeのバージョン - 最後の「ローカルPCのhostsの設定?」で示しているファイルのフルパス 画像からOSはWindowsのように見えはしますが、念のため提示してもらえると、試してほしいコマンドなどを具体的に示せるかもしれません。
ss-kitagawa

2021/03/03 06:38

msiz07様 この度はご回答いただきましてありがとうございます。 以下情報になります。 - 使用しているOSの情報:Windows10 - 使用しているDockerのバージョン:v20.10.2 - 使用しているDocker Composeのバージョン: 1.27.4, - 最後の「ローカルPCのhostsの設定?」で示しているファイルのフルパス C:/Windows/System32/drivers/etc/hosts ※内容に追記致しました。ご指摘ありがとうございます。
guest

回答1

0

「追記・修正依頼」をしましたが、とりあえず画像から気になった点だけ。

質問には以下のようにありますが「127.0.0.0」 -> 「127.0.0.1」だと思います。

10-2. Apache経由から実行できることを確認するが、ブラウザで次のURLにアクセスするが、「このサイトにアクセスできません」と表示される。

http://localhost:50080/index.php
http://127.0.0.0:50080/index.php

あとは念のため、以下の確認をしたらどうなるでしょうか?

  • ブラウザでアクセスしたときのメッセージにある通り、プロキシ設定に問題ないか(localhostへアクセスするときもプロキシ経由になっていないか)
  • localhostにpingが通るか(以下コマンド例)
ping localhost
  • docker ps -aで表示される、起動中のDockerコンテナのポート設定に問題はないか(以下コマンド例)
docker ps -a

投稿2021/03/03 06:24

msiz07

総合スコア172

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ss-kitagawa

2021/03/03 07:11

すみません、番号については最初が001だったのですが、000になっているか?と他の方に言われたので、変更したのですが、変化ございませんでした。ご指摘ありがとうございます。 ブラウザでアクセスしたときのメッセージにある通り、プロキシ設定に問題ないか(localhostへアクセスするときもプロキシ経由になっていないか) →こちらも確認したところプロキシ経由に設定はされておりませんでした。 localhostにpingが通るか →こちらはpingが通りました。 起動中のDokcerコンテナ(app)のポート番号は下記でした。 →0.0.0.0:50080->80/tcp
msiz07

2021/03/03 07:51

では、Apache(のコンテナ)が起動中、コンテナ内からApacheへのHTTPアクセスは問題なくできるでしょうか? コンテナ内にログインして「curl http://localhost」を実行するとどうなります? ホストOSで「docker-compose exec app curl http://localhost」でも確認できるかもしれません
ss-kitagawa

2021/03/03 09:16

index.htmlの中身に入れている内容「hello html」と出ました! しかし同じ階層にいるnew.phpのファイルの中身の出力はされておりません。
msiz07

2021/03/03 09:23

では、Dockerコンテナ内部から「hello html」が表示された状態で、ホストOS側で(ブラウザでも、curlでも、何を使っても構いません)「http://localhost:50080/」にアクセスするとどうなるでしょうか? もし「hello html」と表示される場合は、質問にある「~:50080/index.php」でエラーが出るのはネットワークの問題ではなく、Docker内のapacheの設定が原因で、うまくphpを処理できてない可能性が高いと思います。
msiz07

2021/03/03 09:26

たびたびすいません。そもそも「~:50080/index.php」でアクセスしようとして、「index.php」にあたるファイルがDocker内に存在しないためにエラーになっているのかもしれません。
ss-kitagawa

2021/03/03 10:35

curl: (7) Failed to connect to localhost port 50080: Connection refused このように出ます!
ss-kitagawa

2021/03/03 10:39

index.phpは作成しておりません! new.phpというファイルを作成しております。
msiz07

2021/03/03 11:28

使っているのは「Docker Desktop for Windows」でしょうか?でしたら、以下のページの「インストールの確認」と「アプリケーションの探索」にある手順は一通り問題なく動きますか? [Docker for Windows を始めよう — Docker-docs-ja 19.03 ドキュメント](http://docs.docker.jp/docker-for-windows/index.html) もし問題なく動くとしたら、コンテナ内から「curl http://localhost」でアクセス出来て、ホストOSから「curl http://localhost:50080」がアクセスできない原因が、私にはすぐには分からないです。
msiz07

2021/03/03 11:39

念のためですが、「Docker Desktop」ではなく「Docker Machine」を使っている場合は、「localhost」とは別の「Dockerホスト」のIPアドレスを使う必要があるようです。 以下のページを参照ください。 [Compose を始めましょう — Docker-docs-ja 19.03 ドキュメント](https://docs.docker.jp/compose/gettingstarted.html)
ss-kitagawa

2021/03/03 11:57

Docker Desktop for Windowsになります! 問題なく動きました。 何なんでしょうかね・・・ 長らく色々とご相談に乗ってくださってありがとうございました。 とても励みになりました!! 挫けずに頑張ろうと思います!
msiz07

2021/03/03 12:24

私はLinux上(VirtualBox内など)でDocker使うことが多くてWindows版は殆ど使ってなかったんですが、解決できないのは心残りですね。 念のため、先ほどのコメントに示した「https://docs.docker.jp/compose/gettingstarted.html」の手順も一通り問題なく動くか確認しておくといいかと思います。あとは、ホストOSからApacheコンテナのIPアドレス指定してアクセスして、外部からのアクセスを受け付けるか確認するとかですかね。 ご健闘を
ss-kitagawa

2021/03/03 13:20

かしこまりました。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問