无法构build特定的Dockerfile
我能够构build一个Dockerfile
docker build -t deepak/ruby .
但是对于一个没有命名为Dockerfile
# DOCKER-VERSION 0.4.8 FROM deepak/ruby MAINTAINER Deepak Kannan "deepak@example.com" RUN ./bin/rails s
让我们说它被称为我们build造的Dockerfile.app
docker build -t deepak/app Dockerfile.app
那么我得到的错误
Uploading context 0 bytes Error build: EOF EOF
docker build -f MyDockerfile。
或用标签:
docker build -t mysuperimage -f MyDockerfile。
docker构build的最后一个参数是构buildpath,当你放.
这意味着这是您将findDockerfile
的path。 当你将其更改为Dockerfile.app
它会尝试查找Dockerfile.app/Dockerfile
,这是不正确的。
我不确定它是否仍然有效,但是您曾经能够做到这一点。
$ docker build -t deepak/app - < Dockerfile.app
尝试一下,看看是否有帮助,如果没有,可能会打开一个docker问题来添加这个function,或者更新关于如何使用不同名字的Dockerfile的文档。
更多信息: http : //docs.docker.io/en/latest/commandline/command/build/
这工作
docker build doronaviguy/helloworld -f SomeDockerFile .
Docker构build文档
你也可以使用docker-compose实现这个function。
在构build部分下的docker-compose.yml中,可以指定存储dockerfile及其备用名称的目录,如下所示:
build: context: "/path/to/docker/directory" dockerfile: "dockerfile-alternate-name"
泊坞窗,撰写
尝试docker进纸 。 它使用dockerfunction通过stdin构build上下文。 我写了这个剧本来解决你正面临的问题。
要用不同的Dockerfile来代替Dockerfile,可以这样做:
dockerfeed -d Dockerfile.app . | docker build -t deepak/ruby -
瞧。 Dockerfeed与Docker docker build
相同。 它用Dockerfile打包源代码,但是可以让你用所需的Dockerfilereplace旧的Dockerfile。 在这个过程中没有创build文件,没有源文件被改变。 生成的tar归档文件被传送到docker中,docker又将其发送给docker守护进程。
更新:在没有-f
开关可用的情况下,这在过去是一个有效的答案。 docker版本1.5引入了这个选项。 现在你可以像这样构build一个不同的Dockerfile:
docker build -f other-Dockerfile .