dockercomposeを使用してコンテナーを実行しようとしています。私はすでに通常のdockerコマンドを使用してそれを実行し、それは機能しますが、docker composeを使用して同じことを実行すると、期待どおりに機能しませんでした。
docker composebuildコマンドを使用してイメージをコンパイルします。
docker-compose build php
そのイメージをdockerコマンドとdocker-composeコマンドの両方に使用します。
docker run -p 80:80 -v /navicu docker_php
docker-compose up php
コンテナの1つのポートを変更して、コンテナが崩壊しないようにします。例:dockerのポート80とdocker-composeの800。
問題は、私が何をしても、docker-composeコンテナーが期待どおりに機能しないことです。ローカルホストでの接続を許可しません(500エラーが表示されます)。一方、Dockerコンテナーは接続を許可し、期待どおりにページを表示します。
これがdocker-compose.ymlです:
php:
build: .
ports:
- "80:80"
volumes:
- ./navicu:/navicu
PD:Dockerfileはphp-apache公式イメージを使用し、vhost.confファイルを追加します。
これdocker run
は、作成ファイルと同等ではありません。やってみたら
docker run -p 80:80 -v $PWD/navicu:/navicu docker_php
それは同じであり、同じ500エラーが表示されると思います。
同等の構成ボリュームは次のようになります
volumes:
- /navicu
500エラーが発生する理由は、のコンテナの内容を/navicu
ホストディレクトリ内のファイルに置き換えているためだと思います。これらのファイルはおそらく正しくないか、不足しています。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加