Docker imajınız için bir başlangıç komutu seçme

Docker'a Giriş

Tim Sangster

Software Engineer @ DataCamp

Başlangıç komutu nedir?

hello-world imajı metin yazdırır ve durur.

docker run hello-world
Docker'dan selamlar!

Bu mesajı oluşturmak için Docker şu adımları izledi:
 1. Docker istemcisi Docker daemon'ı ile iletişime geçti.
 2. Docker daemon, hello-world imajından şu an okumakta olduğunuz çıktıyı üreten
    yürütülebilir dosyayı çalıştıran yeni bir konteyner oluşturdu.
 3. Docker daemon bu çıktıyı Docker istemcisine aktardı, istemci de
    terminalinize gönderdi.
Docker'a Giriş

Başlangıç komutu nedir?

Python içeren bir imaj, açılışta python'u başlatabilir.

docker run python3-sandbox
Python 3.10.6 (main, Nov  2 2022, 18:53:38) [GCC 11.3.0] on linux
Daha fazla bilgi için "help", "copyright", "credits" veya "license" yazın.
>>> 
...
....
>>> exit()
repl@host:/#
Docker'a Giriş

Açılışta bir kabuk komutu çalıştırma

CMD <shell-command>

CMD talimatı:

  • İmaj başlatıldığında çalışır.
  • İmaj boyutunu artırmaz.
  • Derlemeye ek süre eklemez.
  • Birden fazlaysa yalnızca sonuncusu etkili olur.
Docker'a Giriş

Tipik kullanım

Bir iş akışını çalıştıran veya dış bağlantı kabul eden bir uygulamayı başlatma.

CMD python3 my_pipeline.py
CMD postgres

Birden çok uygulamayı başlatan bir betiği başlatma

CMD start.sh
CMD python3 start_pipeline.py
Docker'a Giriş

Ne zaman durur?

$$

  • hello-world imajı -> Metni yazdırdıktan sonra
  • Bir veritabanı imajı -> Veritabanı çıktığında

$$

Daha genel bir imaj, daha genel bir başlangıç komutu ister.

  • Bir Ubuntu imajı -> Kabuk kapatıldığında
Docker'a Giriş

Varsayılan başlangıç komutunu geçersiz kılma

Bir imajı başlatma

docker run <image>

Özel bir başlangıç komutuyla imajı başlatma

docker run <image> <shell-command>

Özel bir başlangıç komutuyla etkileşimli başlatma

docker run -it <image> <shell-command>
docker run -it ubuntu bash
Docker'a Giriş

Özet

Kullanım Dockerfile Talimatı
İmajdan başlatıldığında çalışacak bir kabuk komutu ekleyin. CMD <shell-command>

Kullanım Kabuk Komutu
İmajda ayarlı CMD'yi geçersiz kılın docker run <image> <shell-command>
CMD'yi geçersiz kılın ve etkileşimli çalıştırın docker run -it <image> <shell-command>
Docker'a Giriş

Hadi pratik yapalım!

Docker'a Giriş

Preparing Video For Download...