我有以下项目结构:
WebApp
-- docker-compose.yml
-- Dockerfile
-- docker
-- docker-gc
--Dockerfiledocker/docker-gc是我在使用以下命令之前创建的一个git子模块:
git submodule add git@github.com:spotify/docker-gc.git docker/docker-gc在Dockerfile中,我尝试在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,但没有结果。这个问题是否与符号链接有关(由于git子模块性质)。请告诉我怎么解决这个问题。
发布于 2016-12-22 18:55:03
错误出现在您的docker-compose.yaml文件中。在该格式的版本1中,可以同时指定build和dockerfile。如果两者都提供,则dockerfile属性表示希望在build指定的目录中找到的文件名。
在您的示例中,将dockerfile属性更改为只包含文件名,而不是与build中相同的路径
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有关更多信息,请参考码头人员撰写文件。
还请注意,的版本2使用了build参数的不同概念。
发布于 2016-12-22 15:47:51
最后,尝试在没有Dockerfile的情况下完成它。默认情况下,它应该在指定的文件夹中使用名为"Dockerfile“的文件。
https://stackoverflow.com/questions/41286589
复制相似问题