我不确定如何命名Dockerfiles.很多GitHub在Dockerfile
没有文件扩展名的情况下使用.我给他们一个名字和名字吗?如果是这样的话?或者我只是打电话给他们Dockerfile
?
这似乎是真的,但就个人而言,在我看来,设计很糟糕.当然,有一个默认名称(带扩展名)但允许其他名称,并有办法为命令指定docker文件的名称.
拥有扩展也很好,因为它允许将应用程序与该扩展类型相关联.当我在MacOSX中单击Dockerfile时,它将其视为Unix可执行文件并尝试运行它.
如果Docker文件有扩展名,我可以告诉操作系统使用特定的应用程序启动它们,例如我的文本编辑器应用程序.我不确定,但目前的行为也可能与文件permisssions有关.
我给他们一个名字和名字吗?如果是这样的话?
您可以根据需要为Dockerfiles命名.默认文件名是Dockerfile
(没有扩展名),使用默认文件名可以在处理容器时使各种任务更容易.
根据您的具体要求,您可能希望更改文件名.例如,如果您正在构建多个体系结构,您可能希望添加一个指示体系结构的扩展,就像resin.io团队为HAProxy容器所做的多容器ARM示例:
Dockerfile.aarch64 Dockerfile.amd64 Dockerfile.armhf Dockerfile.armv7hf Dockerfile.i386 Dockerfile.i386-nlp Dockerfile.rpi
在提供的示例中,每个Dockerfile都是根据不同的特定于体系结构的上游映像构建的.使用命令行构建容器时,可以使用--file, -f
选项指定用于构建的特定Dockerfile .
如果要在hub.docker.com上使用autobuilder,请不要更改dockerfile的名称.不要使用docker文件的扩展名,将其保留为null.文件名应该是:(根本没有扩展名)
Dockerfile
如果你想在hub.docker.com上使用autobuilder,它必须是 Dockerfile
.所以那里:)
我认为每个容器应该有一个目录,其中包含一个Dockerfile(没有扩展名).例如:
/db/Dockerfile /web/Dockerfile /api/Dockerfile
当您构建时只使用目录名称,Docker将找到Dockerfile.例如:
docker build -f ./db .
在vscode上,我使用dev.Dockerfile
它仍然可以正确识别它.
所以我在同一个文件夹中命名多个Dockerfiles的策略是:
test.Dockerfile