我一直在阅读和了解 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
最佳答案
Dockerfile
Dockerfile 是一个简单的文本文件,其中包含用户可以调用来组装镜像的命令。
例如,Dockerfile
FROM ubuntu:latest
MAINTAINER john doe
RUN apt-get update
RUN apt-get install -y python python-pip wget
RUN pip install Flask
ADD hello.py /home/hello.py
WORKDIR /home
Docker 编写
Docker 编写
是一个用于定义和运行多容器 Docker 应用程序的工具。
在
docker-compose.yml
中定义构成应用程序的服务,以便它们可以在隔离环境中一起运行。只需运行
即可在一个命令中运行应用程序docker-compose up
例如,docker-compose.yml
version: "3"
services:
web:
build: .
ports:
- '5000:5000'
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}
关于docker - Docker Compose 与 Dockerfile 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29480099/