Docker konteyneri nasıl oluşturulur? (docker run komutu ile imajdan)

Docker Nedir?

Docker, uygulamaların geliştirilmesi, dağıtılması ve çalıştırılması için kullanılan bir platformdur. Yazılım geliştiricilere, uygulamalarını izole bir ortamda çalıştırmalarına olanak sağlar. Bu ortam, konteyner adı verilen hafif sanal makinelerdir. Docker konteynerleri, uygulamaların beraberinde gerekli olan tüm bağımlılıkları, kütüphaneleri ve yapılandırmaları alır. Bu sayede, uygulamaların farklı ortamlarda tutarlılıkla çalışması sağlanır.

Docker İmajları

Docker imajları, bir uygulamanın tüm bileşenlerini içeren bir şablondur. İmajlar, konteynerlerin oluşturulmasında temel yapı taşını oluşturur. İmajlar katmanlı bir yapıya sahiptir ve sadece değişen kısımlar saklanır, bu yüzden disk alanı açısından oldukça verimlidir. Bir imaj oluşturmak basit bir iş değildir ve genellikle Dockerfile adı verilen bir betik dosyası kullanılarak yapılır.

docker run Komutu

Docker konteyneri oluşturmak için en yaygın kullanılan komut olan `docker run` komutu, bir imajdan konteyner yaratmayı sağlar. Bu komut, Docker’a hangi imajın kullanılacağını, konteynerin nasıl yapılandırılacağını ve diğer gerekli ayarları bildirir. `docker run` komutunun temel yapısı şu şekildedir:

“`
docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
“`

– `OPTIONS`: Konteynerin davranışını belirleyen çeşitli parametreler.
– `IMAGE`: Kullanılacak Docker imajının adı.
– `COMMAND`: İsteğe bağlı olarak, konteyner başlatıldığında çalıştırılacak komut.
– `ARG`: Komuta ile birlikte geçilecek argümanlar.

Örnek Kullanım

Aşağıda basit bir `docker run` komutunun örneği verilmiştir:

“`
docker run hello-world
“`

Bu komut, “hello-world” isimli resmi imajı kullanarak bir konteyner oluşturur ve çalıştırır. Eğer imaj bilgisayarında yoksa, Docker Hub’dan otomatik olarak indirilecektir. Bu örnek, Docker’ın doğru bir şekilde kurulduğunu ve çalıştığını test etmek için sıklıkla kullanılır.

Konteynerin Etiketlenmesi

Konteyner oluşturulurken `–name` seçeneği ile özel bir isim verilmesi mümkündür. Aşağıdaki komut, bir konteynerin oluşturulmasını ve “my_container” adıyla etiketlenmesini sağlar:

“`
docker run –name my_container hello-world
“`

Bu sayede daha sonraki işlemlerde konteyneri kolayca tanımlamak ve yönetmek mümkün olur.

Arka Planda Çalıştırma

Konteynerin arka planda çalıştırılması için `-d` (detached) seçeneği kullanılabilir. Bu, konteynerin çalışmaya başlamasını sağlar, ancak terminal ile bağı koparır:

“`
docker run -d nginx
“`

Yukarıdaki komut, nginx imajını alarak arka planda bir konteyner başlatır. Çalışan konteynerin durumunu kontrol etmek için `docker ps` komutu kullanılabilir. Bu komut, o anda çalışan tüm konteynerlerin listesini gösterir.

Port Haritalama

Bir konteynerin dış dünyaya açılması için port haritalaması yapılması gerekir. `-p` seçeneği kullanılarak, yerel makinanın portları ile konteynerin portları eşleştirilir. Aşağıdaki örnekte, 8080 yerel portu, konteynerin 80 portuna yönlendirilmiştir:

“`
docker run -d -p 8080:80 nginx
“`

Bu komut, nginx konteynerini başlatarak 8080 portunu dinleyen bir HTTP sunucusu oluşturur. Erişim için tarayıcıda `http://localhost:8080` adresine gidilmesi yeterlidir.

Ortam Değişkenleri

Konteyner oluşturulurken ortam değişkenleri tanımlamak için `-e` seçeneği kullanılabilir. Örneğin:

“`
docker run -e MY_ENV_VAR=value nginx
“`

Yukarıdaki komut, `MY_ENV_VAR` isimli bir ortam değişkeni oluşturur ve bu değişkenin değeri “value” olarak belirlenir. Konteyner içerisinde çalışan uygulama bu ortam değişkenini kullanabilir.

Veri Kalıcılığı

Docker konteynerleri, geçici ve uçucu bir yapıdadır. Konteyner silindiğinde içerisindeki veriler de kaybolur. Bu nedenle, veri kalıcılığı sağlamak için `-v` seçeneği ile harici bir dizin veya dosya sistemi bağlanabilir. Aşağıdaki örnekte, yerel bir dizin konteynerin `/data` dizinine bağlanmıştır:

“`
docker run -v /path/to/local/directory:/data nginx
“`

Bu sayede dışarıda bulunan verilere konteyner içerisinden erişim sağlanabilir.

Konteyner Yöneticiliği

Konteynerlerin yönetimi için Docker komutları oldukça önemlidir. `docker ps`, `docker stop`, `docker rm` gibi komutlar ile konteynerlerin durumu izlenebilir ve işlemler yapılabilir. `docker ps -a` komutu, çalışmayan konteynerler dâhil tüm konteynerleri listeleyerek yöneticilere pratik bir kontrol sağlar.

Docker İmajlarının Yönetimi

Konteyner oluşturulmazdan önce gerekirse yeni bir imaj oluşturulabilir veya mevcut imajlar kullanılabilir. İmajlar `docker pull` komutu ile Docker Hub veya özel kayıt alanlarından indirilebilir. İmajlar üzerinde değişiklik yaparak yeni bir imaj oluşturmak için `docker commit` komutu kullanılabilir.

Bu bilgiler, Docker konteynerlerinin nasıl oluşturulacağını anlamak için temel bir rehber niteliğindedir. `docker run` komutu çeşitli opsiyonlar ve yapılandırmalarla birlikte kullanılarak verimli bir konteyner yönetimi sağlanabilir.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

SON İÇERİKLER

İLGİNİZİ ÇEKEBİLİR