Как использовать один docker compose для создания контейнеров в разных каталогах - PullRequest
0 голосов
/ 23 февраля 2020

Я хочу раскрутить два контейнера, когда я docker -составить

У меня есть две папки API и front. У каждого есть Dockerfile и docker -композитный файл. В настоящее время я должен сделать docker -составить для каждого приложения. как показано ниже

- api
 - docker-compose.yml
 - Dockerfile
- front
 - docker-compose.yml
 - Dockerfile

Я хочу иметь один docker -compose.yml для управления двумя контейнерами, как показано ниже.

- docker-compose.yml
- api
 - Dockerfile
- front
 - Dockerfile

api docker -композитная версия: '3'

services: 
    api:
        build: .
        command: pipenv run start
        image : data-tracker-backend
        volumes: 
            - .:/api/
        ports: 
            - "8000:8000"

front docker -составить версию: '3'

services: 
    web:
        build: .
        command: npm start
        image : data-tracker-front
        volumes: 
            - .:/front/
        ports: 
            - "5000:5000"

Я хочу получить что-то вроде

version: '3'
    services: 
        api:
            build: .
            command: pipenv run start
            image : data-tracker-backend
            volumes: 
                - .:/api/
            ports: 
                - "8000:8000" 
        front:
            build: .
            command: npm start
            image : data-tracker-front
            volumes: 
                - .:/front/
            ports: 
                - "5000:5000"

help для доступа к команде из разные рабочие каталоги.

Ответы [ 2 ]

0 голосов
/ 23 февраля 2020

Вы можете попробовать использовать сборки context и dockerfile, как показано ниже

- docker-compose.yml
- api
 - Dockerfile
- front
 - Dockerfile
version: '3'
  services:
    api:
      build:
        context: api
        dockerfile: Dockerfile
      command: pipenv run start
      image : data-tracker-backend
      volumes:
        - .:/api/
      ports:
        - "8000:8000"
    front:
      build:
        context: front
        dockerfile: Dockerfile
      command: npm start
      image : data-tracker-front
      volumes:
        - .:/front/
      ports:
        - "5000:5000"
0 голосов
/ 23 февраля 2020

Вы можете изменить каталог сборки и тома один.

version: '3'
  services:
    api:
      build: ./api
      volumes:
        - ./api:/api
      # the rest of your commands...

    front:
      build: ./front
      volumes:
        - ./front:/front
      # the rest of your commands...

Однако я предлагаю прочитать руководство. Там достаточно информации и учебников .

...