pet*_*ltz 1 django docker docker-compose
我有一个docker-compose.yml带有后端的Django网络应用程序.它看起来像这样:
version: '2'
services:
db:
image: # special image
ports:
- "1433:1433"
environment:
PASSWORD: "*********"
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
ports:
- "8000:8000"
depends_on:
- db
Run Code Online (Sandbox Code Playgroud)
当我跑sudo docker-compose build,第一行输出说
db uses an image, skipping.
Building web.
Run Code Online (Sandbox Code Playgroud)
我需要db之前构建的图像web.
如何db首先构建图像?
您可以在构建之前db以分离模式启动容器web:
$ docker-compose up -d db
$ docker-compose build web
Run Code Online (Sandbox Code Playgroud)
虽然,这似乎是一种反模式.我建议您尽可能保持构建过程web尽可能通用,而是使用环境变量或command参数来完成此任务.
例如,如果您需要将相同的配置值传递给双方web和db,你可以使用做到这一点的env_file:
# db_credentials.env
USER="django"
PASSWORD="********"
DATABASE="django_db"
Run Code Online (Sandbox Code Playgroud)
在您的docker-compose.yml文件中:
services:
db:
# ...
env_file: db_credentials.env
web:
# ...
env_file: db_credentials.env
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8027 次 |
| 最近记录: |