Docker nginx не видит volume wordpress'a

Все просто: есть контейнер nginx и контейнер wordpress с fpm:

(docker-compose.yml)

version: '3.7'

    services:
      wordpress:
        image: wordpress:5.1.1-fpm-alpine
        container_name: wordpress
        volumes:
          - wordpress_volume:/var/www/html
        networks:
          - app-network

      webserver:
        depends_on:
          - wordpress
        image: nginx:1.15.12-alpine
        container_name: webserver
        ports:
          - "80:80"
        volumes:
          - wordpress_volume:/var/www/wordpress
          - ./nginx-conf:/etc/nginx/conf.d
        networks:
          - app-network

    volumes:
      wordpress_volume:

    networks:
      app-network:
        driver: bridge  

(.nginx-conf/nginx.conf)

server {
        listen 80;
        listen [::]:80;

        server_name example.com www.example.com;

        index index.php index.html index.htm;

        root /var/www/wordpress;

        location / {
                try_files $uri $uri/ /index.php$is_args$args;
        }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass wordpress:9000;
                fastcgi_index index.php;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param PATH_INFO $fastcgi_path_info;
        }

        location ~ /\.ht {
                deny all;
        }

        location = /favicon.ico {
                log_not_found off; access_log off;
        }
        location = /robots.txt {
                log_not_found off; access_log off; allow all;
        }
        location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
                expires max;
                log_not_found off;
        }
}

Запускаю, перехожу на localhost и вижу: File not found. При этом, файлы внутри контейнера nginx существуют (проверял через docker exec -i -t webserver /bin/sh). Если же я пропишу путь в конфиге "root /var/www/html;" и примонтирую к этой директории директорию с вордпресс то все ок, но мне это не подходит.

Я ещё совсем новичок в докере/nginx и наверное ошибаюсь в чем-то фундаментальном, помогите мне. Заранее спасибо.


Ответы (1 шт):

Автор решения: Dobriachok

Проблема была в переменной $document_root в nginx.conf, так как она хранила путь root, который используется контейнером с nginx'ом, а для php-fpm нужен был путь внутри своего контейнера:

fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;

(wordpress по умолчанию устанавливается в эту папку, поэтому путь к ней и указываем)

→ Ссылка