Docker用dockerfile以外的名称撰写

时间:2019-08-16 16:24:15

标签: docker docker-compose dockerfile

我已经使用docker在测试代码的地方创建了CLI接口。这些合理地命名为:

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

由于涉及多个码头,因此项目根目录中的顶级“ Dockerfile”是不合理的。尽管在docker中构建时无法复制祖先目录,但我可以克隆整个存储库。

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


接下来,我查找docker-compose,因为我需要将docker卡与postgres数据库进行匹配,并暴露一些端口。

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

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

  

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

问题是:如何设置docker-compose而不是foo.dockerfile而不是./Dockerfile

2 个答案:

答案 0 :(得分:1)

the documentation of docker-compose.yml中所述,您可以在Dockerfile服务的build属性内覆盖docker-compose文件名。

例如:

version: 3
services:
  foo:
    image: user/foo
    build:
      context: .../docks
      dockerfile: foo.Dockerfile
  bar:
    image: user/bar
    build:
      context: .../docks
      dockerfile: bar.Dockerfile

答案 1 :(得分:1)

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

    build: 
      context: <folder of your project>
      dockerfile: <path and name to your Docekrfile>