我不确定如何命名Dockerfiles。许多GitHub用户使用Dockerfile,但没有文件扩展名。我给他们一个名字和扩展;如果有,那又怎样?或者我就叫它Dockerfile?


当前回答

如果你想使用hub.docker.com上的autobuilder,它必须是Dockerfile。所以就这样了:)

其他回答

我认为每个容器都应该有一个Dockerfile(没有扩展名)的目录。例如:

  /db/Dockerfile
  /web/Dockerfile
  /api/Dockerfile

当你只使用目录名构建时,Docker会找到Dockerfile。例句:

docker build -f ./db .

我在同一个目录下创建了两个dockerfile,

# vi one.Dockerfile
# vi two.Dockerfile

来构建dockerfile,

# docker build . -f one.Dockerfile
# docker build . -f two.Dockerfile

注意:你应该在当前的工作目录。

Dockerfile(自定义名称和文件夹):

   docker/app.Dockerfile
   docker/nginx.Dockerfile

构建:

   docker build  -f ./docker/app.Dockerfile .
   docker build  -f ./docker/nginx.Dockerfile .

[请阅读完整答案]如果您想使用hub.docker.com上的autobuilder,请不要更改dockerfile的名称。不要为docker文件使用扩展名,让它为空。 文件名应该是:(没有扩展名)

Dockerfile

然而,现在你可以这样命名dockerfile,

test1.Dockerfile
$ docker build -f dockerfiles/test1.Dockerfile  -t test1_app .

or

Dockerfile.test1
$ docker build -f dockerfiles/Dockerfile.test1  -t test1_app .

这也是可行的。

如果你在同一个上下文中处理多个文件,你可以使用STDIN:

test1.Dockerfile
$ docker build -t test1_app - < test1.Dockerfile

如果你想使用hub.docker.com上的autobuilder,它必须是Dockerfile。所以就这样了:)