Dockerfile Nedir?
-
- Dockerfile, bir Docker görüntüsü oluşturmaya yönelik talimatları içeren bir metin dosyasıdır.
-
- Bir Docker dosyasındaki yönergeler, Docker’a kapsayıcılı bir uygulamanın nasıl oluşturulacağını söyler.
- Dockerfile yönergeleri, dosyaları kopyalama, komutları çalıştırma ve ortam değişkenlerini ayarlama gibi şeyleri içerir.
- Bir Docker dosyası oluşturulduktan sonra, komut kullanılarak bir Docker görüntüsü oluşturmak
docker build
komutu kullanılır. - Bir Docker dosyasından oluşturulan Docker görüntüsü, Docker’ı destekleyen herhangi bir makinede Docker kapsayıcıları oluşturmak ve çalıştırmak için kullanılabilir.Dockerfile gereksinimleri ve talimatları tutar,
build komutu ile image oluşturulur,
run komutu ile container olarak deploy edilir.
Dockerfile’ın Avantajları Nelerdir?
- Ölçeklenebilirlik: uygulamaları gerektiği gibi ölçeklendirmeyi veya küçültmeyi kolaylaştırarak kaynakları korur ve maliyetleri düşürür.
- Kaynak verimliliği: geleneksel sanal makinelerden daha az kaynak kullanır ve performansı etkilemeden birden çok kapsayıcının aynı makinede çalışmasına izin verir.
- Güvenlik: uygulamalar için güvenli bir çalıştırma ortamı sağlar, güvenlik açıkları riskini azaltır ve güvenlik açıkları için görüntüleri taramak ve kapsayıcılar için güvenlik ayarlarını yapılandırmak için araçlar sağlar.
- Taşınabilirlik: Docker’ı destekleyen herhangi bir makinede çalıştırılabilir, bu da uygulamaların farklı ortamlar ve bulut sağlayıcıları arasında taşınmasını kolaylaştırır.
- Tutarlı ortamlar: tüm ekip üyelerinin aynı ortamda çalışmasını sağlayarak sistem yapılandırması ve yazılım sürümlerindeki farklılıklardan kaynaklanan sorunları azaltır.
Dockerfile ile Basit bir Web Uygulaması Oluşturma
Öncelikle docker adında bir klasör oluşturun.
mkdir docker
Oluşturduğunuz klasörün içinde Dockerfile adında bir dosya oluşturun.
Oluşturduğunuz Dockerfile dosyasının içine girin.
nano Dockerfile
Dockerfile dosyasının içine aşağıdaki bloğu kopyalayın.
FROM nginx COPY . . RUN apt-get update CMD ["nginx", "-g", "daemon off;"]
Dockerfile üzerinden image’ı build etmek için aşağıdaki kodu girin.
docker build . -t nginxtest:1
Build ettiğiniz image’ı kontrol edin.
docker image list
Build ettiğiniz image’ı çalıştırın.
docker run -p 8000:80 nginxtest:1
Docker’ınızda image’nin çalışıp çalışmadığını kontrol edin.
docker ps
Sunucunuzun dış IP’sinin 8000 portuna giderek, uygulamanızın çalışıp çalışmadığını kontrol edebilirsiniz.