一百:
FROM python:3.9
ENV PYTHONUNBUFFERED=1
RUN apt-get update && apt-get upgrade -y \
&& apt-get install -y gcc gunicorn3 libcurl4-gnutls-dev librtmp-dev libnss3 libnss3-dev wget \
&& apt-get clean \
&& apt -f install -y
WORKDIR /App
COPY requirements.txt /App/
RUN pip install -r requirements.txt
COPY . /App/
>! RUN pip install django~=4.1.1
RUN mkdir -p /App/data/db/
RUN chown -R 1000:1000 /App/data/db/
EXPOSE 7000
EXPOSE 8001
说
我有base-compose个包含数据库映像文件,以下是文件内容:
version: '3.3'
networks:
shared_network:
driver: bridge
services:
testdb:
image: postgres:latest
volumes:
- postgres_data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=develop_db
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
ports:
- "5432:5432"
networks:
- shared_network
volumes:
postgres_data:
这是我的docker-compose文件:
version: '3.3'
include:
- ./base-compose.yml
services:
test_develop:
container_name: test_develop
build: .
command: python manage.py runserver 0.0.0.0:7000
ports:
- "7000:7000"
env_file:
- ./environments/.env.develop
depends_on:
- testdb
networks:
- shared_network
links:
- testdb
以下是我的docker-compose-prod.yml文件:
version: '3.3'
include:
- ./base-compose.yml
services:
test_production:
container_name: test_production
build: .
command: python manage.py runserver 0.0.0.0:8001
ports:
- "8001:8001"
env_file:
- ./environments/.env.prod
depends_on:
- testdb
networks:
- shared_network
links:
- testdb
当我运行docker-compose up --build时,它会创建develop_db,但我也想创建prod_db.
当docker-compose up--Build时,我try 创建两个数据库名称Development_db和Prod_db.
我使用这两个命令运行了两个docker-compose文件.
docker-compose -f docker-compose up --build
docker-compose -f docker-compose-prod.yml up --build