Docker Komutları Rehberi: “docker run” komutu ve parametreleri

Herkese selamlar,

Docker serimizin bu bölümünde, image dosyalarından yeni bir container çalıştırmamızı sağlayan docker run komutunu ve parametrelerini anlatmaya çalışacağım.

docker run <Image ad veya ID> 

bu en temel ve minimum çalıştırılan halidir. burada, sistemdeki bir image dosyasından bir container(yani process/işlem) çalıştırılır. Örnek:

docker run alpine

Ancak, docker’n yeni yapısına göre ilerlemek gerekirse, burda işleme söz konusu olan obje “container” olduğu için, onunla beraber kullanmak daha uygun olur.

docker container run alpine

Bu komutu çalıştırdıktan sonra bir container yaratılır(burdaki örnekte, container’ı ayakta tutacak bir işlem olmadığı için işlem başladıktan sonra hemen kapanıyor. Bu konuyu ileriki konularda işleyeceğiz). Bunun için docker ps -a komutunu çalıştırınca şöyle bir çıktı veriyor:

CONTAINER ID      IMAGE   COMMAND     CREATED           STATUS                          PORTS    NAMES
45543fe5bebb       alpine     “/bin/sh”      17 seconds ago   Exited (0) 15 seconds ago           optimistic_mende

Oluşturulan container bilgilerine bakınca:

  • Container Id: diğer docker objelerinde olduğu gibi benzersiz(unique) bir değere sahiptir.
  • Image: hangi image dosyasından bu container oluşturuldu. Varsayılan olarak “latest” etiketine(tag) sahip olan sürümü alır.
  • Command: container başlangıç komutu
  • Created: container’ın oluşturulduğu tarih
  • Status: durum bilgisi. Çalışıyor, Çıkış yaptı vs gibi değerler olabilir. Burada, 0 değeri ile çıkış yapmış, yani normal bir şekilde sonlanmış ve ne zaman olduğu bilgisi verilmiş.
  • Ports: container’e ait açık olup, host ile ilişkilendirimiş port bilgisi
  • Names: Docker, Containerlara isim vermenizi sağlayan bir yapısı var. Ama herhangi bir isim tanımlamazsanız, kendisi rastgele bir isim tanımlıyor. Buradaki rastgele formatı da biraz ilginç aslında 🙂 alt tire’den(_) önceki kısım rastgele bir ingilizce kelime, sonraki kısım ise bilim dünyasından birinin adı(üstadlara selam olsun)

Şimdi bu komutun aldığı parametreleri inceleyelim:

  • --name <istediğimiz isim> bu parametre ile, container’a istediğimiz ismi verebiliriz. Örnek: docker container run --name firstcontainer alpine çalıştıralım. Daha sonra containerları kontrol edelim(docker ps -a ile)
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    432b428fc48c alpine “/bin/sh” 25 seconds ago Exited (0) 24 seconds ago firstcontainer
  • -d veya --detach parametresi: Bazı durumlarda, container terimal modu ile açılabilir yani erminal ile “bağlantılı” gelir. bu parametre ile o bağlam kopartılır ve işlem terminale yansımaz
  • -i veya --interactive parametresi: Container, interaktif mod ile açılır, yani container içinde bir terminal açılır. Böylece, container’ı ayakta tutan bir komut yoksa bile, bu parametre ile ayakta kalır.