Uso la finestra mobile-compose e mi piacerebbe utilizzare diversi file Docker per la creazione di passaggi di diversi servizi. Lo docs sembra suggerire di posizionare diversi file Docker in diverse directory, ma mi piacerebbe che fossero tutti nella stessa (e forse distinguibili usando la seguente convenzione: Dockerfile.postgres, Dockerfile.main ...). È possibile?docker-compose: utilizzo di più file Docker per più servizi
Edit: Lo scenario che ho contiene questo file finestra mobile-composizione:
main:
build: .
volumes:
- .:/code
environment:
- DEBUG=true
postgresdb:
extends:
file: docker-compose.yml
service: main
build: utils/sql/
ports:
- "5432"
environment:
- DEBUG=true
dove postgresdb
s' Dockerfile è:
FROM postgres
# http://www.slideshare.net/tarkasteve/developerweek-2015-docker-tutorial
ADD make-db.sh /docker-entrypoint-initdb.d/
e la principale è:
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/
Questo funziona al momento, ma mi piacerebbe ext Terminare il file Dockerfile postgresdb
chiamando uno script Python che crea tabelle nel database in base a modelli costruiti su SQL Alchemy (lo script Python sarebbe chiamato come python manage.py create_tables
). Volevo aggiungerlo al db's Dockerfile, ma a causa dell'isolamento dei contenitori non posso usare SQL Alchemy perché l'immagine è basata sull'immagine postgres
invece che su Python e non contiene il pacchetto sqlalchemy
.
Cosa posso fare? Ho provato a utilizzare il servizio main
in postgresdb
, ma sfortunatamente non supporta python e i suoi pacchetti, quindi non riesco ancora a scrivere un singolo Dockerfile che crea il database Postgres (tramite lo script della shell) e le sue tabelle (attraverso uno script Python).
Ehi James - grazie! Ho modificato la domanda e ho aggiunto la ragione per cui volevo farlo; sapresti come estendere i servizi per risolvere questo problema? Grazie ancora! – aralar