使用-f选项的Docker构build不能findDockerfile
我已经尝试了很多与docker -f选项的组合,但我从来没有得到它的工作
我可以做这个:
docker build -t foo/bar .
但我不能这样做:
docker build -t foo/bar -f Dockerfile .
或这个:
docker build -t foo/bar -f ./Dockerfile .
这给了我以下错误:
unable to prepare context: The Dockerfile (c:\path\Dockerfile) must be within the build context (.)
我在Windows 7上通过默认的vm使用docker。Docker版本是1.8.1,build d12ea79
我看不出有什么不同。 在项目中为不同的任务设置不同的Docker文件可能是非常好的,但是没有-f选项是不可能的。
这里是我如何使用docker build来避免这个错误的例子
docker build -f my.dockerfile ./
注意尾随的正斜杠
如果你这样做
docker build --help
你会注意到,除其他事项
-f, --file= Name of the Dockerfile (Default is 'PATH/Dockerfile')
你也可以做
docker build -t mytag .
要么
docker build -t mytag -f another_dockerfile
但是你不能一起使用点和-f。
这是点或Dockerfile与“-f”,而不是两个
我遇到了这个问题,事实certificate,这是由于我的dockerfile被挂载在NTFS中的一个文件夹中。 一旦我把它移动到一个普通的文件夹,它工作正常。
如果您的Dockerfile
不在项目根目录(当前目录)中,请在-f
之后显示它。
这是我用过的一个例子:
docker build -t test_service -f deployment/dev/Dockerfile .