Как указать свой конфиг для nginx в Docker

Осваиваю docker.

Столкнулся с такой проблемой:
не могу понять как заменить /etc/nginx/conf.d/default.conf на свой конфиг ?
Или быть может я в корни неправильно делаю...

Алгоритм запуска и развертывания yii2-приложения в docker.

  1. composer create-project --prefer-dist yiisoft/yii2-app-advanced apptest
  2. по умолчанию в apptest/frontend/Dokerfile следующий код
    FROM yiisoftware/yii2-php:7.4-apache ,
    который я меняю на FROM nginx
  3. docker-compose.yml
    добавляю nginx: image:nginx ports: "8080" и в volumes,
    я так понимаю, нужно указать путь на свой конфиг
    (в данном примере нужный конфиг apptest/nginx/my.conf).

Несколько часов уже не могу разобраться.

version: '3.2'

services:

  nginx:
    image: nginx
    ports:
      - "80:80"
    volumes:
      - ./nginx/my.conf:/etc/nginx/conf.d/default.conf



  frontend:
    build: frontend
    ports:
      - 20080:80
    volumes:
      # Re-use local composer cache via host-volume
      - ~/.composer-docker/cache:/root/.composer/cache:delegated
      # Mount source-code for development
      - ./:/app

  backend:
    build: backend
    ports:
      - 21080:80
    volumes:
      # Re-use local composer cache via host-volume
      - ~/.composer-docker/cache:/root/.composer/cache:delegated
      # Mount source-code for development
      - ./:/app

  mysql:
    image: mysql:5.7
    environment:
      - MYSQL_ROOT_PASSWORD=verysecret
      - MYSQL_DATABASE=yii2advanced
      - MYSQL_USER=yii2advanced
      - MYSQL_PASSWORD=secret

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

Автор решения: Aleksey Vaganov

Вам нужны контейнеры:

  1. nginx
  2. php-fpm
  3. mysql

В nginx пропишите location для фронта и бэка и проксирование на php.

→ Ссылка