Задать вопрос
@Nolan81
программист

Как в yii2 advanced шаблон запустить в докере с доменными именами?

Привет.
Yii2 шаблон advanced имеет такой docker-compose
version: '3.2'

services:

  frontend:
    build: frontend
    ports:
      - 20080:80
    volumes:
      # Mount source-code for development
      - ./:/app

  backend:
    build: backend
    ports:
      - 21080:80
    volumes:
      # Mount source-code for development
      - ./:/app

Есть приложение frontend и backend, вот Dockerfile фронта
FROM yiisoftware/yii2-php:8.1-apache

# Change document root for Apache
RUN sed -i -e 's|/app/web|/app/frontend/web|g' /etc/apache2/sites-available/000-default.conf

Если сейчас запустить, то приложения будут доступны по адресам
http:/localhost:20080     фронт
http:/localhost:21080        бэк


Но хотелось бы чтобы доменные имена были свои, человекопонятные, без портов.

Если сделать
1) фронту в образ добавлю RUN sed -i -e 's|#ServerName www.example.com|ServerName yii2site.front|g' /etc/apache2/sites-available/000-default.conf
2) в hosts добавлю 127.0.0.1 yii2site.front
3) В конфиге фронта, меняю порт с 20080:80 на 80:80

, то могу к фронту обращаться по адресу yii2site.front.

Но то же самое я не могу сделать бэку, т.к. порт 80 занят, а в hosts нельзя указать другой порт для домена.

Как решаются такие задачи?
  • Вопрос задан
  • 101 просмотр
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@q2digger
никого не трогаю, починяю примус
такие задачи решаются установкой реверс-прокси, например nginx или traefik
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 дек. 2024, в 10:44
15000 руб./за проект
22 дек. 2024, в 10:12
10000 руб./за проект
22 дек. 2024, в 09:51
3000 руб./за проект