【问题标题】:Does Dockerfile always have to be placed in the build context root?Dockerfile 是否总是必须放在构建上下文根目录中?
【发布时间】:2015-02-13 15:11:05
【问题描述】:

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

现在我看到了Setting up a docker / fig Mesos environment,它启发了我将每个单独的 Dockerfile 放入项目根目录中自己的目录中。

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

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

【问题讨论】:

    标签: docker dockerfile


    【解决方案1】:

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

    指定要在构建中使用的 Dockerfile

    供稿人:Doug Davis – 公关链接

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

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

    【讨论】:

      猜你喜欢
      • 2015-02-26
      • 1970-01-01
      • 2017-08-07
      • 2015-10-07
      • 1970-01-01
      • 2011-04-03
      • 2014-08-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多