Docker-compose:总是接收无法find指定的Dockerfile
我有一个以下的项目结构:
WebApp -- docker-compose.yml -- Dockerfile -- docker -- docker-gc --Dockerfile
docker/docker-gc
是我在使用这个命令之前创build的一个git子模块:
git submodule add git@github.com:spotify/docker-gc.git docker/docker-gc
在docker docker-gc
compc中,我尝试在docker docker-gc
运行Dockerfile。 这是我的服务:
gc: container_name: docker-gc build: ./docker/docker-gc dockerfile: ./docker/docker-gc/Dockerfile volumes: - /var/run/docker.sock:/var/run/docker.sock - /etc:/etc
但我总是收到错误:
找不到指定的Dockerfile ./docker/docker-gc/Dockerfile
我已经尝试了许多方式,如docker/docker-gc/Dockerfile
/docker/docker-gc/Dockerfile
docker/docker-gc/Dockerfile
或/docker/docker-gc/Dockerfile
没有结果。 这个问题涉及到符号链接(由于git子模块性质)。 请告诉我如何解决这个问题。
错误在你docker-compose.yaml
文件中。 在该格式的版本1中,您可以指定build
和dockerfile
。 如果同时提供,则dockerfile
属性表示预期可在build
指定的目录中find的文件名。
在你的情况下,更改dockerfile
属性只包括文件名,而不是在build
相同的path:
gc: container_name: docker-gc build: ./docker/docker-gc dockerfile: Dockerfile volumes: - /var/run/docker.sock:/var/run/docker.sock - /etc:/etc
由于Dockerfile
是默认名称,您也可以简单地删除这一行:
gc: container_name: docker-gc build: ./docker/docker-gc volumes: - /var/run/docker.sock:/var/run/docker.sock - /etc:/etc
请参阅Docker Compose文档以获取更多信息。
另请注意,Docker Compose文件格式的版本2使用了build
参数的不同概念。
试着在没有Dockerfile的情况下做到这一点。 默认情况下,它应该使用指定文件夹中名为“Dockerfile”的文件。
- 多个docker撰写文件,并指定env_file
- Docker撰写 – 没有拿起init命令中的转储文件?
- 自定义的Docker MySQL的构build将不会运行
- Docker-compose检查mysql连接是否准备就绪
- 服务“networking”未能build立:lstat apache / sites-enabled / 000-default.conf:没有这样的文件或目录
- 如何使用docker将CSV数据导入到elasticsearch?
- 在容器中安装Docker,供GitLab CI构build使用
- 为什么我不能ping我的docker集装箱?
- Rails不能replacedatabase.yml中的ENV值