Докер контейнере Nginx proxy_pass на другие порты не работает?

Есть тестовый PHP проект используется докер

docker-compose.yml

version: '3.8'

services:
  api:
    build: ./api
    container_name: temp-name-api
    ports:
      - "3001:3001"
    restart: unless-stopped
    networks:
      - temp-name-network 

  test:
    build: ./test
    container_name: temp-name-test
    ports:
      - "3002:3002"
    restart: unless-stopped
    networks:
      - temp-name-network

  nginx:
    image: nginx:stable-alpine
    container_name: temp-name-nginx
    ports:
      - "80:80"
    volumes:
      - ./nginx/nginx.conf.prod:/etc/nginx/conf.d/nginx.conf
    depends_on:
      - api
      - test
    networks:
      - temp-name-network

networks:
  temp-name-network:
    driver: bridge

nginx.conf

server {
  listen 80;

  server_name side-project.loc;
  
  access_log  /var/log/nginx/access.log;

  add_header X-Frame-Options "SAMEORIGIN";
  add_header X-Content-Type-Options "nosniff";

  index index.php;

  charset utf-8;

  location /api {
      proxy_pass http://api:3001/public/;
      try_files $uri $uri/ /index.php?$query_string;
  }

  location /test {
      proxy_pass http://test:3002;
      try_files $uri $uri/ /index.php?$query_string;
  }


  location = /favicon.ico { access_log off; log_not_found off; }
  location = /robots.txt  { access_log off; log_not_found off; }

  error_page 404 /index.php;
}

api/DockerFile

FROM php:8.0.6-fpm-alpine3.13

WORKDIR /var/www

COPY . .

EXPOSE 3001

test/DockerFile

FROM php:8.0.6-fpm-alpine3.13

WORKDIR /var/www

COPY . .

EXPOSE 3002

При использовании http://side-project.loc/api/ или http://side-project.loc/test/ получаю nginx ошибку 404 Not Found в папке test и в папке api/public есть index.php файл , докер запускается без ошибок nginx access и error лог файлы пусты.

в чем ошибка почему данная конструкция не работает ?

UPD

После docker-compose logs -f только это:

введите сюда описание изображения


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