Повторное использование конфигурации контейнера в docker-compose приводит к конфликту - PullRequest
0 голосов
/ 09 января 2019

Я устанавливаю некоторые веб-приложения в отдельные контейнеры Docker и один дополнительный контейнер с nginx, который действует как обратный прокси-сервер. Мне не нужно, чтобы отдельные веб-приложения запускались одновременно, и я не против (я на самом деле предпочитаю) иметь несколько контейнеров nginx, каждый из которых обслуживает одно приложение.

Я собираю это вместе с docker-compose, используя следующую конфигурацию:

app_a_dcompose.yml

version: "3.7"

services:
    app_a:
        build:
            context: .
            dockerfile: app_aa.Dockerfile
        volumes:
            - type: bind
              source: ./volumes/share
              target: /data/share
    nginx:
        #container_name: nginx_app_a
        build:
            context: .
            args:
                vhost_conf: app_a_vhost.conf
            dockerfile: ./nginx.Dockerfile
        ports:
            - "8002:8002"
        volumes:
            - type: bind
              source: ./volumes/log
              target: /data/log

app_b_dcompose.yml

version: "3.7"

services:
    app_b:
        build:
            context: .
            dockerfile: app_aa.Dockerfile
        volumes:
            - type: bind
              source: ./volumes/share
              target: /data/share
    nginx:
        #container_name: nginx_app_b
        build:
            context: .
            args:
                vhost_conf: app_b_vhost.conf
            dockerfile: ./nginx.Dockerfile
        ports:
            - "8001:8001"
        volumes:
            - type: bind
              source: ./volumes/log
              target: /data/log

nginx.Dockerfile

FROM nginx:stable-alpine

ARG vhost_conf

WORKDIR /etc/nginx/conf.d
COPY $vhost_conf ./

Для этого нужно скопировать конфигурацию vhost для каждого приложения для каждого приложения в контейнер nginx. Я бы предположил, что два отдельных контейнера были отключены, если бы я начал создавать файлы. Однако, пока первый контейнер запускается нормально, второй заставляет nginx выйти из первого. Добавление определенного имени контейнера (закомментированного в примерах файлов компоновки) не помогло.

Что я делаю не так? Любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...