我有django项目。对于这个项目,我有不同的设置(db,...)。我想运行dev和prod容器。我想同时开发dev和prod。 我的结构项目:
我的docker-copose.yml
version: '2.0'
services:
web:
build: .
container_name: api_prod
volumes:
- .:/usr/django/app/
expose:
- "8000"
env_file: env/main.env
command: bash django_run.sh
nginx:
build: nginx
container_name: ng_prod
ports:
- "8000:8000"
volumes:
- ./nginx/api.conf:/etc/nginx/conf.d/api.conf
- .:/usr/django/app/
depends_on:
- web
links:
- web:web
我的docker-compose.dev.yml
version: '2.0'
services:
web:
build:
context: .
dockerfile: Dockerfile.dev
container_name: api_dev
volumes:
- .:/usr/django/app_dev/
expose:
- "8001"
env_file: env/dev.env
command: bash django_run.sh
nginx:
build: nginx
container_name: ng_dev
ports:
- "8001:8001"
volumes:
- ./nginx/api.conf:/etc/nginx/conf.d/dev_api.conf
- .:/usr/django/app_dev/
depends_on:
- web
links:
- web:web
Dockerfile
FROM python:3
RUN apt-get update
# Install wkhtmltopdf
RUN curl -L#o wk.tar.xz https://downloads.wkhtmltopdf.org/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz \
&& tar xf wk.tar.xz \
&& cp wkhtmltox/bin/wkhtmltopdf /usr/bin \
&& cp wkhtmltox/bin/wkhtmltoimage /usr/bin \
&& rm wk.tar.xz \
&& rm -r wkhtmltox
RUN apt-get install -y cron
# create directory for application source code
RUN mkdir -p /usr/django/app
COPY requirements.txt /usr/django/app/
COPY django_run.sh /usr/django/app/
WORKDIR /usr/django/app
RUN pip install -r requirements.txt
Dockerfile.dev
FROM python:3
RUN apt-get update
# Install wkhtmltopdf
RUN curl -L#o wk.tar.xz https://downloads.wkhtmltopdf.org/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz \
&& tar xf wk.tar.xz \
&& cp wkhtmltox/bin/wkhtmltopdf /usr/bin \
&& cp wkhtmltox/bin/wkhtmltoimage /usr/bin \
&& rm wk.tar.xz \
&& rm -r wkhtmltox
RUN apt-get install -y cron
# create directory for application source code
RUN mkdir -p /usr/django/app_dev
COPY requirements.txt /usr/django/app_dev/
COPY django_run.sh /usr/django/app_dev/
WORKDIR /usr/django/app_dev
RUN pip install -r requirements.txt
我为这样的prod命令运行:
docker-compose build
docker-compose up
对于dev我运行如下命令:
docker-compose —file docker-compose.dev.yml build
docker-compose —file docker-compose.dev.yml up
我的问题:我想同时工作和dev和prod容器,但是当我运行我的命令时,更高的prod容器会覆盖dev。我花了很多钱 倍((