我一直在阅读和学习 Docker ,并试图正确选择要使用的 Django 设置。到目前为止,有两种:
我知道 Dockerfiles 在 Docker Compose 中使用,但我不确定将所有内容放在一个带有多个 FROM
命令的不同图像的大型 Dockerfile 中是否是一种好习惯?
我想使用几个不同的图像,包括:
uwsgi
nginx
postgres
redis
rabbitmq
celery with cron
请告知使用 Docker 设置此类环境的最佳实践。
如果有帮助,我在 Mac 上,所以使用 boot2docker 。
我遇到的一些问题:
- Docker Compose 与 Python3 不兼容
- 我想将我的项目容器化,所以如果一个大型 Dockerfile 不理想,那么我觉得我需要使用 Docker Compose 将其分解
- 我可以使项目 Py2 和 Py3 兼容,所以我倾向于 django-compose
原文由 Aaron Lelevier 发布,翻译遵循 CC BY-SA 4.0 许可协议
答案都不是。
如果您将构建命令添加到项目的
docker-compose.yml
中,Docker Compose(此处称为 compose)将使用 Dockerfile。您的 Docker 工作流程应该是为您希望创建的每个图像构建一个合适的
Dockerfile
,然后使用 compose 使用build
命令来组装图像。您可以使用
build /path/to/dockerfiles/blah
指定单个 Dockerfile 的路径,其中/path/to/dockerfiles/blah
是 blah 的Dockerfile
所在的位置。