Docker, та конфигурация что в коробке

Говорим о серверах, развёртывании, нагрузках, выборе и использовании разных технологий и продуктов
Ответить
Аватара пользователя
maleks
Сообщения: 1998
Зарегистрирован: 2012.12.26, 12:56

Docker, та конфигурация что в коробке

Сообщение maleks »

Приветствую.

Та докер конфигурация, что идет в Advanced шаблоне из коробки , предлагает работать с приложениями по адресам

Код: Выделить всё

frontend: http://127.0.0.1:20080
backend: http://127.0.0.1:21080
Есть какие то минусы такого подхода или стоит изначально позаботиться о человекопонятных доменах, прокидку конфигов?
Смотрю что в yii2-starter-kit версия docker-compose.yml существенно отличается, что выбрать то
Аватара пользователя
maleks
Сообщения: 1998
Зарегистрирован: 2012.12.26, 12:56

Re: Docker, та конфигурация что в коробке

Сообщение maleks »

Сделал попытку домены сделать для фронта и бека.
По простому не вышло, т.к. hosts порты не понимает, только 80 , frontend-у если заменить 20080 на 80, то ему можно задать.
А другим уже не выйдет.

Это тот сейчас поставляемый конфиг, с ним сижу -

Код: Выделить всё

  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
Как такое сделать тогда? Говорят про nginx и прокси, может встречали рабочий пример?, т.к. то что в yii2-starter-kit не пашет пока никак
Аватара пользователя
maleks
Сообщения: 1998
Зарегистрирован: 2012.12.26, 12:56

Re: Docker, та конфигурация что в коробке

Сообщение maleks »

Ну если кто имеет рабочий пример, то скиньте сюда, для базы знаний.
Хотя поиск говорит про прокси, это выглядит усложненно для такой задачи.

Сейчас убрал разделение на два сервиса - frontend и backend.
Чтобы был один сервис web, который будет на 80 порту.
А внутри него уже будут работать эти приложения, и снаружи у каждого будет свой адрес.

Не вижу разницы в сути, для разработки, хотя может есть что то?
Аватара пользователя
ElisDN
Сообщения: 5848
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Docker, та конфигурация что в коробке

Сообщение ElisDN »

Рабочий вариант на одном порту – это отдельный прокси Nginx или Traefik. Со Traefik рабочий пример у меня в https://github.com/deworkerpro/demo-auction
Аватара пользователя
maleks
Сообщения: 1998
Зарегистрирован: 2012.12.26, 12:56

Re: Docker, та конфигурация что в коробке

Сообщение maleks »

Спасибо. Погляжу
Аватара пользователя
maleks
Сообщения: 1998
Зарегистрирован: 2012.12.26, 12:56

Re: Docker, та конфигурация что в коробке

Сообщение maleks »

ElisDN писал(а): 2024.06.12, 14:36 Со Traefik рабочий пример у меня в https://github.com/deworkerpro/demo-auction
Получилось вроде.
Работает и когда все что касается сети traefik-public убрать, т.е. вообще в конфиге сети не использовать.
Или сеть эта там нужна?

Если кому интересно, то конфиг, рабочий, сейчас такой:

Код: Выделить всё

version: '3.2'

services:

  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
    labels:
      - traefik.enable=true
      - traefik.http.routers.frontend.rule=Host(`yii2advanced.front`)   
      - traefik.http.routers.frontend.entryPoints=http      

  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
    labels:
      - traefik.enable=true
      - traefik.http.routers.backend.rule=Host(`yii2advanced.back`)
      - traefik.http.routers.backend.entryPoints=http      
       

  mysql:
    image: mysql:5.7
    volumes:
      - ./docker/mysql:/var/lib/mysql    
    environment:
      - MYSQL_ROOT_PASSWORD=tiger
      - MYSQL_DATABASE=yii2advanced
      - MYSQL_USER=yii2advanced
      - MYSQL_PASSWORD=michael
      
  traefik:
    image: traefik:2.11
    command:
      --providers.docker=true
      --providers.docker.exposedByDefault=false
      --entryPoints.http.address=:80
    ports:
      - "80:80"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock    
    labels:
      - traefik.enable=true 
Аватара пользователя
ElisDN
Сообщения: 5848
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Docker, та конфигурация что в коробке

Сообщение ElisDN »

maleks писал(а): 2024.06.14, 08:06 Или сеть эта там нужна?
Нужна если надо будет разворачивать несколько отдельных проектов на одном сервере/кластере в продакшене. Тогда там traefik будет деполиться отдельно и будет связываться со всеми проектами внешней сетью traefik-public.
Ответить