Nie wiem, jak nazwać pliki Dockerfiles. Wiele osób korzysta z GitHub Dockerfile
bez rozszerzenia pliku. Czy nadam im nazwę i rozszerzenie; Jeśli tak to co? A może po prostu do nich dzwonię Dockerfile
?
docker
dockerfile
naming-conventions
Lloyd R. Prentice
źródło
źródło
docker build
polecenia, co oznacza, że każdy obraz zostanie niepotrzebnie odbudowany, jeśli zmieniony zostanie plik dockerfile innego obrazu.dev.Dockerfile
,test.Dockerfile
,build.Dockerfile
Itd.Na VS Code używam
<purpose>.Dockerfile
i jest poprawnie rozpoznawany.źródło
Myślę, że powinieneś mieć katalog na kontener z plikiem Dockerfile (bez rozszerzenia). Na przykład:
Podczas budowania po prostu użyj nazwy katalogu, Docker znajdzie plik Dockerfile. na przykład:
źródło
Jeśli chcesz korzystać z autobuildera na hub.docker.com, musisz to zrobić
Dockerfile
. Tak więc :)źródło
Wydaje się, że to prawda, ale osobiście wydaje mi się, że to kiepski projekt. Jasne, miej domyślną nazwę (z rozszerzeniem), ale zezwalaj na inne nazwy i miej sposób na określenie nazwy pliku dockera dla poleceń.
Posiadanie rozszerzenia jest również przyjemne, ponieważ pozwala kojarzyć aplikacje z tym typem rozszerzenia. Kiedy klikam plik Dockerfile w systemie MacOSX, traktuje go jako plik wykonywalny systemu Unix i próbuje go uruchomić.
Gdyby pliki Dockera miały rozszerzenie, mógłbym powiedzieć systemowi operacyjnemu, aby uruchamiał je z konkretną aplikacją, np. Moim edytorem tekstu. Nie jestem pewien, ale obecne zachowanie może być również związane z uprawnieniami do plików.
źródło
Utworzyłem dwa Dockerfile w tym samym katalogu,
do budowania obu Dockerfiles,
Uwaga: powinieneś być w obecnym katalogu roboczym.
źródło
Możesz dowolnie nazywać swoje pliki Dockerfiles. Domyślna nazwa pliku to
Dockerfile
(bez rozszerzenia), a jej użycie może ułatwić różne zadania podczas pracy z kontenerami.W zależności od konkretnych wymagań możesz chcieć zmienić nazwę pliku. Jeśli na przykład budujesz dla wielu architektur, możesz chcieć dodać rozszerzenie wskazujące architekturę, jaką wykonał zespół resin.io dla kontenera HAProxy, przykład wielopojemnikowego ARM :
W podanym przykładzie każdy plik Dockerfile jest kompilowany z innego, specyficznego dla architektury obrazu nadrzędnego. Konkretny plik Dockerfile, który ma być używany do kompilacji, można określić za pomocą
--file, -f
opcji podczas budowania kontenera za pomocą wiersza polecenia.źródło
Dockerfile
jest dobre, jeśli masz tylko jeden plik Dockera (na katalog). Możesz użyć dowolnego standardu, jeśli potrzebujesz wielu plików Dockera w tym samym katalogu - jeśli masz dobry powód. W ostatnim projekcie istniały pliki dockera AWS i lokalne pliki środowiska deweloperskiego, ponieważ środowiska te różniły się wystarczająco:Dockerfile
Dockerfile.aws
źródło
Dockerfile.armv7hf
obok plikuDockerfile.i386
.Dockerfile (niestandardowa nazwa i folder):
Budować:
źródło