Não sei como nomear Dockerfiles. Muitos no GitHub usam Dockerfile
sem uma extensão de arquivo. Eu lhes dou um nome e uma extensão; se sim o que? Ou eu simplesmente os chamo Dockerfile
?
docker
dockerfile
naming-conventions
Lloyd R. Prentice
fonte
fonte
docker build
comando, o que significa que cada imagem será desnecessariamente reconstruída se o arquivo docker de outra imagem for alterado.dev.Dockerfile
,test.Dockerfile
,build.Dockerfile
Etc.No VS Code eu uso
<purpose>.Dockerfile
e ele é reconhecido corretamente.fonte
Eu acho que você deve ter um diretório por contêiner com um Dockerfile (sem extensão). Por exemplo:
Quando você cria apenas usa o nome do diretório, o Docker encontra o arquivo Docker. por exemplo:
fonte
Se você deseja usar o autobuilder em hub.docker.com, deve ser
Dockerfile
. Então ai :)fonte
Parece que isso é verdade, mas, pessoalmente, parece-me um design deficiente. Claro, tenha um nome padrão (com extensão), mas permita outros nomes e tenha uma maneira de especificar o nome do arquivo docker para comandos.
Ter uma extensão também é bom porque permite associar aplicativos a esse tipo de extensão. Quando clico em um Dockerfile no MacOSX, ele o trata como um executável do Unix e tenta executá-lo.
Se os arquivos do Docker tivessem uma extensão, eu poderia dizer ao sistema operacional para iniciá-los com um aplicativo específico, por exemplo, meu aplicativo de editor de texto. Não tenho certeza, mas o comportamento atual também pode estar relacionado às permissões de arquivo.
fonte
Eu criei dois Dockerfiles no mesmo diretório,
para criar os dois arquivos Dockerfiles,
Nota: você deve estar no diretório de trabalho atual.
fonte
Você pode nomear seus Dockerfiles da maneira que desejar. O nome do arquivo padrão é
Dockerfile
(sem extensão) e o uso do padrão pode facilitar várias tarefas ao trabalhar com contêineres.Dependendo de seus requisitos específicos, você pode alterar o nome do arquivo. Se você está construindo para várias arquiteturas, por exemplo, convém adicionar uma extensão indicando a arquitetura como a equipe resin.io fez para o contêiner HAProxy, como exemplo de ARM com vários contêineres :
No exemplo fornecido, cada Dockerfile cria a partir de uma imagem upstream diferente, específica da arquitetura. O Dockerfile específico a ser usado para a compilação pode ser especificado usando a
--file, -f
opção ao criar seu contêiner usando a linha de comando.fonte
Dockerfile
é bom se você tiver apenas um arquivo docker (por diretório). Você pode usar o padrão que desejar, se precisar de vários arquivos docker no mesmo diretório - se tiver um bom motivo. Em um projeto recente, havia arquivos docker da AWS e arquivos de ambiente de desenvolvimento local porque os ambientes eram bastante diferentes:Dockerfile
Dockerfile.aws
fonte
Dockerfile.armv7hf
próximo a aDockerfile.i386
.Dockerfile (nome e pasta personalizados):
Construir:
fonte