docker-compose: использование нескольких Dockerfiles для нескольких сервисов

Я использую docker-compose и хотел бы использовать разные Dockerfiles для разных этапов сборки сервисов.документы кажется, предлагают разместить разные файлы Docker в разных каталогах, но я бы хотел, чтобы все они были в одном и том же (и, возможно, их можно было различить, используя следующее соглашение: Dockerfile.postgres, Dockerfile.main ...). Это возможно?

Редактировать: Сценарий, который я имею, содержит этот файл docker-compose:

main:
  build: .
  volumes:
    - .:/code
  environment:
    - DEBUG=true

postgresdb:
  extends:
    file: docker-compose.yml
    service: main
  build: utils/sql/
  ports:
    - "5432"
  environment:
    - DEBUG=true

гдеpostgresdbDockerfile это:

FROM postgres

# http://www.slideshare.net/tarkasteve/developerweek-2015-docker-tutorial
ADD make-db.sh /docker-entrypoint-initdb.d/

и главное это:

FROM python:2.7

RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/

RUN pip install --upgrade pip
RUN pip install -r requirements.txt
ADD . /code/

Это работает прямо сейчас, но я хотел бы расширитьpostgresdbDockerfile, вызывая скрипт Python, который создает таблицы в базе данных в соответствии с моделями, основанными на SQL Alchemy (скрипт Python будет называться какpython manage.py create_tables). Я хотел добавить его в Dockerfile БД, но из-за изоляции контейнеров я не могу использовать там SQL Alchemy, потому что этот образ основан наpostgres изображение вместо Python, и оно не содержитsqlalchemy пакет ...

Что я могу сделать? Я пытался использоватьmain служба вpostgresdb, но, к сожалению, он не переносит python и его пакеты, поэтому я до сих пор не могу написать ни один Dockerfile, который создает базу данных Postgres (через скрипт оболочки), а также ее таблицы (через скрипт Python).

Ответы на вопрос(2)

Ваш ответ на вопрос