Docker İmage: katman veya uygulamalardan olur. container içinde çalışır. image'lar oluşturup container içinde çalıştırırız. image 'ları kendi projemize göre özelleştiririz.
Docker Container: sanal makine, bir ip ,network ,sub mask vardır, image veya image'lerdan oluşur.
ls aktif listeyi verir.
ls -a daha önce çalışmış olduklarımızı da gösterir
Image listeleme
> docker image ls
> docker image ls -a
Container Listeleme
> docker container ls
> docker container ls -a
Docker run Basit bir container ayağa kaldırmamıza yarar.
-d container'ın komut satırında açık olmadan arka planda çalışması için kullanıyoruz.
-p iç porttan dış porta bağlanıyor, sunucu ipsinden 8080 protuna istek attığımızda container içerde nginx kullandığı 80 portuna yönlendirecektir.
> docker run -d --name c_nginx -p 8080:80 nginx
DOCKERFILE
Dockerfile içerisinde hangi Image’ın kullanılacağı, hangi dosyaları içereceği ve hangi uygulamanın hangi parametrelerle çalışacağı yazılır. Docker, Dockerfile dosyasında bulunan komutları sırayla tek tek çalıştırır. Her komut yeni bir katman oluşturur. Docker build sonunda elimizde uygulaması ait Docker Image oluşur .
Dockerfile dosyasının herhangi bir uzantısı yoktur. bunun için dosta ismi sadece Dockerfile olmalıdr. Dosya uzantıları işletim sisteminizde gizli ise, uzantıları açıp siliniz.
Örnek bir dockerfile
RUN uygulama içerisinde kullanacağımız kodlardır. her bir run komutu bir katmandır, image boyutunu arttırır. birden fazla komutu tek bir katmanda toplamak için aralara && "and" işareti ekleyerek kullanabiliriz.
From base image yani dockerhub içerisinde var olan bir uygulamayı çğrıyoruz ve kendimize göre özelleştiriyoruz.
alpine image en küçük boyutta minimum gereksinimle çalışan bir linux işletim sistemi dağıtımıdır.
Dosya adı:Dockerfile
Dosya içeriği:
From alpine
RUN mkdir /test_dir && cd /test_dir
RUN echo "BU BİR TEST CONTAINER DIR." > test.txt
CMD cat test.txt
Dockerfile dosyasyının içinde bulunduğu klasörü komut satırında açıyoruz.
İlk önce dockerfile ile bir image oluşturuyoruz.
-t image bir etiket ismi vermek için kullanılır.
. "nokta" işareti dockerfile bu klasörde oldugunu belirmetk için kullanılır.
> docker image build -t test1 .
daha sonra oluşturduğumuz image container olarak ayağa kaldırıyoruz.
> docker run test1
yukarıdaki komutu çalıştırarak dockerfile ile oluşturduğumuz image 'ı container olarak çalıştırıyoruz.
---------------------------------------------------------------------------------
Referans Belgeleri için tıklayınız