Для настройки запуска Yii2 advanced шаблона в докере с использованием доменных имен, следуйте приведенным ниже шагам:
1. Измените конфигурацию Docker Compose для создания сети для ваших контейнеров. В вашем файле docker-compose.yml добавьте следующий раздел:
```yaml
networks:
app_net:
driver: bridge
```
2. Добавьте ваши приложения frontend и backend в секцию services вашего файла docker-compose.yml:
```yaml
frontend:
image: yii2-frontend
networks:
- app_net
ports:
- "80:80"
...
backend:
image: yii2-backend
networks:
- app_net
ports:
- "81:80"
...
```
3. Создайте файл nginx.conf для каждого приложения (frontend и backend) с конфигурацией сервера, указывающей на соответствующий root и доменное имя. Пример конфигурации для frontend приложения:
```nginx
server {
listen 80;
server_name frontend.local;
root /app/frontend/web;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass php:9000; # контейнер php-fpm
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
```
4. Измените файл hosts вашей операционной системы, добавив записи для ваших доменных имен:
```
127.0.0.1 frontend.local
127.0.0.1 backend.local
```
5. Перезапустите контейнеры Docker с помощью команды docker-compose up -d.
Теперь вы можете обращаться к вашим приложениям по доменным именам frontend.local и backend.local без указания портов.