Ich versuche ein Docker-Image zu erstellen, um meine Symfony3-App auszuführen.Symfony-Docker-Konfiguration
Ich habe docker-composer.yml
und site.conf
In meinem Docker-Komponist definiere ich zwei Container web
und php
und verbinden diese cntainers:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./code/test:/var/www/test
- ./site.conf:/etc/nginx/conf.d/default.conf
links:
- php
php:
image: php:7-fpm
volumes:
- ./code/test:/var/www/test
I offical nginx docs, wie zum Einrichten meiner Seite gefunden. conf:
meine site.conf:
server {
server_name test-docker.local;
root /code/test/web;
location/{
try_files $uri /app.php$is_args$args;
}
# DEV
location ~ ^/(app_dev|config)\.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_pass php:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
# PROD
location ~ ^/app\.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_pass php:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
internal;
}
# return 404 for all other php files not matching the front controller
# this prevents access to other php files you don't want to be accessible.
error_log /var/log/nginx/project_error.log;
access_log /var/log/nginx/project_access.log;
}
Im selben Verzeichnis, dass ich meine docker.compose.yml und site.conf habe Ich habe einen Code dir und innerhalb von code dir habe ich test dir und innerhalb test sterben ist es meine php-Anwendung.
Das Problem ist, dass ich, wenn ich test-docker.local/
meine Stamm-URL gehe
i bekommen File Not Found
ich die PHP-Container, wenn der Code in den richtigen Pfad wurde kopiert, um zu sehen eingegeben und es ist/var/www/test/
wenn ich meine Web-Container die Code-ID unter dem gleichen Pfad/var/www/test eingeben, aber ist das der richtige Pfad für nginx Container ist, dass nginx den Code von ... geladen wurde? Und wenn ja, warum muss der Nginx-Container eine Kopie des Codes haben, wenn der Code theoretisch aus dem PHP-Container geladen werden sollte?