我不确定如何命名Dockerfiles。GitHub上的许多Dockerfile
文件都没有文件扩展名。我给他们起一个名字和扩展名吗?如果可以的话 还是我只给他们打电话Dockerfile
?
我不确定如何命名Dockerfiles。GitHub上的许多Dockerfile
文件都没有文件扩展名。我给他们起一个名字和扩展名吗?如果可以的话 还是我只给他们打电话Dockerfile
?
Answers:
如果要在hub.docker.com使用自动生成器,请不要更改dockerfile的名称。不要对docker文件使用扩展名,请将其保留为空。文件名应该是:(完全没有扩展名)
Dockerfile
但是,您也可以像下面这样...
dev.Dockerfile
,uat.Dockerfile
,prod.Dockerfile
等。
您可以在VS Code上使用<purpose>.Dockerfile
它,并且它可以正常工作。
dev.Dockerfile
,test.Dockerfile
,build.Dockerfile
等。
在我使用的VS Code上<purpose>.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。默认文件名是Dockerfile
(不带扩展名),使用默认值可以使使用容器时的各种任务更加容易。
根据您的特定要求,您可能希望更改文件名。例如,如果要针对多种体系结构进行构建,则可能希望添加一个扩展名,以指示该体系结构为resin.io团队为HAProxy容器完成的多容器ARM示例:
Dockerfile.aarch64
Dockerfile.amd64
Dockerfile.armhf
Dockerfile.armv7hf
Dockerfile.i386
Dockerfile.i386-nlp
Dockerfile.rpi
在提供的示例中,每个Dockerfile均从不同的,特定于体系结构的上游映像构建。使用命令行构建容器时,可以使用该--file, -f
选项指定用于构建的特定Dockerfile 。