2つの個別のコンテナーをリンクしようとしています。
問題は、phpスクリプトが機能しないことです。おそらくphp-fpm設定が正しくありません。これが私のリポジトリにあるソースコードです。ここにファイルがありますdocker-compose.yml
:
nginx:
build: .
ports:
- "80:80"
- "443:443"
volumes:
- ./:/var/www/test/
links:
- fpm
fpm:
image: php:fpm
ports:
- "9000:9000"
そしてDockerfile
私はnginxのものに基づいてカスタムイメージを構築するために使用しました:
FROM nginx
# Change Nginx config here...
RUN rm /etc/nginx/conf.d/default.conf
ADD ./default.conf /etc/nginx/conf.d/
最後に、これが私のカスタムNginx仮想ホスト構成です。
server {
listen 80;
server_name localhost;
root /var/www/test;
error_log /var/log/nginx/localhost.error.log;
access_log /var/log/nginx/localhost.access.log;
location / {
# try to serve file directly, fallback to app.php
try_files $uri /index.php$is_args$args;
}
location ~ ^/.+\.php(/|$) {
fastcgi_pass 192.168.59.103:9000;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
}
誰かがこれらのコンテナを正しく構成してphpスクリプトを実行するのを手伝ってくれる?
PS 私は次のようにdocker-composerを介してコンテナーを実行します:
docker-compose up
プロジェクトのルートディレクトリから。
docker exec
、実行中のコンテナにアクセスしてfpmにping できますか?
Nginx
してPHP-FPM
一緒にする作業ソリューションを実現しました。必要に応じて、私のリポジトリgithub.com/bocharsky-bw/vagrant-ansible-dockerを確認してください。