首页 > 解决方案 > Docker 组合使用 dockerfile 以外的名称

问题描述

我使用 docker 创建 CLI 接口来测试我的代码。这些被合理地命名为:

proj_root/.../docks/foo.dockerfile
proj_root/.../docks/bar.dockerfile

因为涉及的dock不止一个,所以项目根目录的顶层“Dockerfile”是不合理的。虽然在 docker 中构建时无法复制祖先目录,但我可以克隆整个 repo。

所以我的项目架构适合我。


接下来,我查找,docker-compose因为我需要将我的 docker 卡与 postgres db 匹配并公开一些端口。

但是,从命令行界面的角度来看,docker-compose 似乎锚定到了硬编码的“当前工作目录”用户概念中的“Dockerfile”。

但!我看到错误消息暗示该工具能够查找任意命名的 dockerfile:

错误:找不到指定的 Dockerfile:Dockerfile

问题是:我如何docker-compose开始寻找foo.dockerfile而不是./Dockerfile

标签: dockerdocker-composedockerfile

解决方案


在您的 docker-compose 中,在服务下:

services:
  serviceA:
    build: 
      context: <folder of your project>
      dockerfile: <path and name to your Dockerfile>

推荐阅读