我已经使用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
?
答案 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>