Dockerfiles nasıl adlandırılacağından emin değilim. GitHub'daki çoğu Dockerfile
dosya uzantısı olmadan kullanır . Onlara bir isim ve uzantı verebilir miyim; Öyleyse ne olmuş? Yoksa sadece arar Dockerfile
mıyım?
Dockerfiles nasıl adlandırılacağından emin değilim. GitHub'daki çoğu Dockerfile
dosya uzantısı olmadan kullanır . Onlara bir isim ve uzantı verebilir miyim; Öyleyse ne olmuş? Yoksa sadece arar Dockerfile
mıyım?
Yanıtlar:
Hub.docker.com adresindeki otomatik otobüsü kullanmak istiyorsanız dockerfile adını değiştirmeyin. Docker dosyaları için uzantı kullanmayın, boş bırakın. Dosya adı şu şekilde olmalıdır: (hiç uzantı yok)
Dockerfile
Ancak, aşağıdaki gibi de yapabilirsiniz ...
dev.Dockerfile
, uat.Dockerfile
, prod.Dockerfile
Vb
VS Kodunda kullanabilirsiniz <purpose>.Dockerfile
ve buna göre çalışır.
dev.Dockerfile
, test.Dockerfile
, build.Dockerfile
Vb
VS Kodu üzerinde kullanın <purpose>.Dockerfile
ve doğru bir şekilde tanınır.
İçinde Dockerfile (uzantı yok) ile konteyner başına bir dizin olması gerektiğini düşünüyorum. Örneğin:
/db/Dockerfile
/web/Dockerfile
/api/Dockerfile
Sadece dizin adını kullandığınızda, Docker Docker dosyasını bulur. Örneğin:
docker build -f ./db .
Eğer autobuilder'ı hub.docker.com adresinde kullanmak istiyorsanız , olması gerekir Dockerfile
. Bu yüzden orada :)
Bu doğru gibi görünüyor, ama kişisel olarak bana kötü tasarım gibi geliyor. Elbette, varsayılan bir ada sahip (uzantı ile) ancak diğer adlara izin verin ve komutlar için docker dosyasının adını belirtmenin bir yolu var.
Bir uzantıya sahip olmak da güzeldir çünkü uygulamaların bu uzantı türüyle ilişkilendirilmesine izin verir. MacOSX'ta bir Dockerfile'ı tıklattığımda bunu Unix yürütülebilir dosyası olarak görür ve çalıştırmaya çalışır.
Docker dosyaları bir uzantıya sahipse, işletim sisteminden bunları belirli bir uygulamayla başlatmasını söyleyebilirim, örneğin metin düzenleyici uygulamam. Emin değilim ama mevcut davranış dosya izinleri ile ilgili olabilir.
Aynı dizinde iki Docker dosyası oluşturdum,
# vi one.Dockerfile
# vi two.Dockerfile
hem Dockerfiles kullanımını oluşturmak için,
# docker build . -f one.Dockerfile
# docker build . -f two.Dockerfile
Not: şu anki çalışma dizininde olmalısınız ..
Onlara bir isim ve uzantı verebilir miyim; Öyleyse ne olmuş?
Docker dosyalarınızı istediğiniz gibi adlandırabilirsiniz. Varsayılan dosya adı Dockerfile
(uzantısız) olup varsayılanı kullanmak kaplarla çalışırken çeşitli görevleri kolaylaştırabilir.
Özel gereksinimlerinize bağlı olarak dosya adını değiştirmek isteyebilirsiniz. Örneğin, birden fazla mimari için yapıyorsanız, resin.io ekibinin HAProxy konteyneri için çok konteynırlı ARM örneğini yaptığı gibi mimariyi gösteren bir uzantı eklemek isteyebilirsiniz :
Dockerfile.aarch64
Dockerfile.amd64
Dockerfile.armhf
Dockerfile.armv7hf
Dockerfile.i386
Dockerfile.i386-nlp
Dockerfile.rpi
Sunulan örnekte, her Dockerfile farklı, mimariye özgü, yukarı akışlı bir görüntüden oluşturulur. Derleme için kullanılacak belirli Dockerfile , komut satırını kullanarak kabınızı oluştururken --file, -f
seçenek kullanılarak belirtilebilir .
Dockerfile
yalnızca bir docker dosyanız (dizin başına) varsa iyidir. Aynı dizinde birden fazla docker dosyasına ihtiyacınız varsa, istediğiniz herhangi bir standardı kullanabilirsiniz - iyi bir nedeniniz varsa. Son zamanlarda yapılan bir projede AWS docker dosyaları ve yerel geliştirici ortam dosyaları vardı, çünkü ortamlar yeterince farklıydı:
Dockerfile
Dockerfile.aws
Dockerfile.armv7hf
a Dockerfile.i386
.