Bonjour à tous, NAS : DS425+ Version DSM : 7.3.2 Niveau : néophyte Images : nginx-latest : https://hub.docker.com/_/nginx/ php:8.4-fpm : https://hub.docker.com/_/php/ Interface : DSM Container Manager J'ai un problème avec ContainerManager. J'ai créé un projet de test qui n'utilise que ces 2 containers : nginx et php-fpm. Le problème c'est qu'il semble que nginx n'arrive pas à communiquer avec php alors qu'ils sont sur le même réseau. Quand je charge mon site, j'ai une 504 alors que mon fichier index.php ne contient qu'un `<?php echo "Hello world";`. Je me suis fait aidé par ChatGPT pour qu'il puisse m'indiquer des directions d'analyse mais sans résolution. Je me suis fait également aidé d'un admin système qui a l'habitude de travailler avec docker et pour lui la configuration est bonne. Du coup je viens vous solliciter pour savoir si sur Synology il y a quelque chose à faire en plus dans la configuration pour que cela fonctionne. Voici mes fichiers en question : docker-compose.yaml networks:
testing:
services:
nginx:
container_name: "testing-nginx"
image: nginx:latest
restart: unless-stopped
networks:
- testing
volumes:
- ./configs/nginx/nginx.conf:/etc/nginx/nginx.conf
- ./configs/nginx/sites:/etc/nginx/sites-available
- /volume1/www/test/testing:/var/www
ports:
- "8880:80"
- "8443:443"
depends_on:
- php
php:
image: php:8.4-fpm
container_name: "testing-php"
restart: unless-stopped
networks:
- testing
volumes:
- /volume1/www/test/testing:/var/www configs/nginx/nginx.conf user nginx;
worker_processes 4;
#daemon off;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
#access_log /dev/stdout;
#error_log /dev/stderr;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-available/*.conf;
} configs/nginx/sites/default.conf server {
listen 80;
server_name mywebsite.com;
root /var/www/public/;
index index.php;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
fastcgi_pass php:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS on;
fastcgi_param HTTP_X_FORWARDED_PROTO $http_x_forwarded_proto;
fastcgi_index index.php;
}
location ~ /\.ht {
deny all;
}
}
J'ai testé nginx en modifiant le location / pour retourner OK, et ça a fonctionné. Du coup j'arrive bien à atteindre le container nginx. C'est vraiment la liaison entre nginx et php qui semble ne pas se faire :(.