Konteynera Giriş

İlk “docker run hello-world” komutumuzu çalıştırdığımızda, konteyner çalışmasını tamamladıktan sonra kapatıldı. Ancak bu, docker run’ı başka bir imaj ile çalıştırsak bile hello-world konteynerına özgü davranış değildir.

Aşağıdaki komut ile aktif çalışan konteynerlarımızı listeleyelim. Herhnagi çalışan bir konteynar olmadığını göreceğiz. Peşine alpine ismi verilmiş ufak bir linux imajını indirip çalıştıralım.

docker container ls
docker run alpine

Alpine isimli imajı indirdikten sonra da çalışan kotneynerlarımızı listeleyerek mevcut durumu gözlemleyelim. Aktif çalışan bir konteynar olmadığı için içerik yine boş gelecektir.

Tüm konteynerlerin bir listesini görmek için -a diye komutumuzun sonuna ekleyerek kullanabiliriz.

docker container ls -a

Her birinin konteynardan ne zaman çıkıldığını belirten bir duruma (Status alanına) sahip olduğuna dikkat edin. Bir konteynar başlatmak ve onunla gerçekten çalışabilmek için, -i ya da –interactive ve -t ya da –tty komutlarını kullanmayı görelim.

docker run -i alpine
docker run -it alpine
docker run --interactive alpine

-i komutu ile birlikte konteynerımız çalıştırılarak bizi linux shell ekranına otomatik şekilde düşürdü. Çıkabilmek için exit komutu kullanarak shell ekranından da çıkış işlemini gerçekleştirdik.

Ha ufak bir hatırlatma. Konteynarımıza –name ile bir isim atamayı unutmayın.

Buradan konteynere karşı istediğimiz değişiklikleri yapabilir veya istediğimiz testleri yapabiliriz.

docker run -it --name a-container alpine

–name eklentisiyle konteynarımızaı a-container adını tanımlayarak alpine imajını kullanıyoruz. -it komutu ile shell ekranına düşüyoruz.

shell ekranı içerisinde apk upgrade komutu ile mini linux distromuzun paket güncellemesini gerçekleştirerek exit komutu ile çıkış yapalım.

docker container ls komutunu kullanarak aktif çalışan konteynarımızı listelemeye çalıştığımızda aktif çalışan bir konteynar olmadığını görüyoruz.

Kalıcı, daimi şekilde bir konteynar çalıştırmak için, -d ile birlikte bir TTY atamak için -t komutlarını kullanabiliriz. Ayrıca, konteynerın çalıştığı sunucu –restart komutuyla kapatıldığında konteynerlerimizin yeniden başlatılmasını sağlayabiliriz. Bu bayrak her zaman olarak ayarlandığında, bu, kapsayıcıyı ilk çıktıktan sonra ve daha sonra herhangi bir zamanda başlatır.

Ayrıca “unless-stopped” ayarını da kullanabiliriz, böylece manuel olarak durdurmazsak yeniden başlatılır. “on-failure” durumunda yeniden başlatılmasını istememiz gerekir mi yoksa hiçbir zaman yeniden başlamayan varsayılan hayır. -d veya –detach ile birlikte, konteyneri bir komut istemine bırakıp, arka planda çalıştıracak şekilde kullanabiliriz.

docker run -dt --name bg-container --restart always alpine

Konteyner id çıktısına dikkat edin. Docker container ls komutumuzla da çalıştığını doğrulayabiliriz.

Alternatif olarak, gerçekten atıf bir test konteyneri kullanmak istiyorsak –rm komutunu kullanabiliriz, böylece çıkıştan hemen sonra otomatik şekilde silinir.

docker run -it --name rm-test --rm alpine
exit
docker container list -a

Kısaca neler yaptık diye bakacak olursak,

docker container ls - Çalışan kapsayıcıları listeler
-a - Tüm kapsayıcıları listele

docker run <image> - Sağlanan imaja göre bir konteyner oluşturun ve çalıştırın
-i, --interactive - STDIN'i açık tutun
-t, --tty - Bir psuedo-tty bulun; bu imaj içerisinde olmazsa, komut satırına erişemezsiniz
-d, --detach - Konteyneri arka planda çalıştırır

restart <value> - Yeniden başlatma parametrelerini ayarlayın
           no - restart etme
           always - durdukça restart et
           unless-stopped - Manuel olarak durdurulmadıkça yeniden başlatın
            on-failure<:retries> - Konteyner başarısız olduğunda yeniden başlatın; maksimum sayıda yeniden deneme sağlayabiliriz

--rm - Çıktıktan sonra konteynerı silin
--isim <name> - Konteyner için bir takma ad girin

Başka bir yazımızda görüşmek üzere,

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir