3

假设我有一个 Django 项目,并且想要创建几个 Dockerfile,它们将使用不同的设置集和系统包(不要与 Python 库混淆)。为了让应用程序运行,我必须将完整的项目代码库复制到映像中。

现在我看到了设置 docker / fig Mesos 环境,这启发了我将每个单独的 Dockerfile 放入项目根目录中自己的目录中。

docker build env1/可以预见地创建一个 tarballenv1并使用它来构建图像。

有什么方法可以重新定义 Dockerfile 名称或构建上下文根?

4

1 回答 1

6

Docker 1.5引入了“指定要在构建中使用的 Dockerfile”选项:

指定要在构建中使用的 Dockerfile

贡献者:Doug Davis – 公关链接

这可能是过去几个月最需要的功能之一:能够指定要在 docker 构建中使用的文件,而不是依赖默认的 Dockerfile。docker build -f 允许您在单个项目中定义多个 Dockerfile,并指定在构建时使用哪一个。如果您需要单独的 Dockerfile 用于测试和生产环境,这会很有帮助。

使用此功能,您无需为多个 Dockerfile 分别设置文件夹,因此不再需要为每个 Dockerfile 设置不同的文件夹。只需在您的根文件夹中拥有多个 Dockerfile 并使用-f选项构建每个文件。

于 2015-02-13T15:35:34.877 回答