防止在docker-compose中跳过
我有一个docker-compose.yml
的Djangonetworking应用程序与后端。 它看起来像这样:
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
当我运行sudo docker-compose build
,输出的第一行表示
db uses an image, skipping. Building web.
我需要在web
之前build立db
映像。
我怎样才能让db
图像先build立?
在构buildweb
之前,你可以在Detached模式下启动你的db
容器:
$ docker-compose up -d db $ docker-compose build web
不过,这似乎是一个反模式 。 我build议你保持web
的构build过程尽可能通用,而是使用环境variables或command
参数来实现这一点。
例如,如果您需要将相同的configuration值传递给web
和db
,则可以使用env_file
来完成此操作:
# db_credentials.env USER="django" PASSWORD="********" DATABASE="django_db"
在你docker-compose.yml
文件中:
services: db: # ... env_file: db_credentials.env web: # ... env_file: db_credentials.env
- django_debug_toolbar和Docker
- manage.py不会login到树莓派上的Docker的stdout / stderr
- 无法通过链接到docker撰写文件连接到mysql映像
- Docker Cloud自动testing找不到服务
- configurationNGINX以正确地将URL转发到Graphite docker映像
- 在内部网上运行cookiecutter django
- 如何从gunicorn或nginx提供静态文件
- 将django docker容器链接到mysql docker容器
- 如何在BitBucketpipe道上使用Docker来testing需要PostGIS的Django应用程序?