Bloğa geri dön

Bir Docker Konteyneri ile Host Arasında Veri Nasıl Paylaşılır

Bir Docker Konteyneri ile Host Arasında Veri Nasıl Paylaşılır

Giriş

Genellikle, Docker konteynerleri yalnızca belirli bir süre boyunca çalışır – komutun çalıştırılması için gereken süre kadar. Konteynerin içinde bulunan verilere, çalışma süresi boyunca yalnızca konteynerin içinden erişilebilir.

Docker birimleri dosyalara kolayca erişmek ve onları daha uzun süre saklamak için kullanılabilir. Örneğin, bir Nginx web sunucunuz varsa ve denetimler için günlükleri saklamak istiyorsanız, konteynerdeki günlükleri ana makinenizde saklamak için bir Docker birimi kullanabilirsiniz.

Bu öğreticide, Docker konteynerinin içi ile ana makine arasında nasıl veri paylaşacağınızı öğreneceksiniz. 

Gereksinimler

Bu öğretici için aşağıdaki gereksinimlere ihtiyacınız olacak:

Adım 1 – Bir Birimi Bağlama (Bind Mount)

Mevcut kullanıcınızın ev dizininde logs adında bir dizin oluşturabilir ve aşağıdaki komutu kullanarak bunu Nginx konteynerindeki /var/log/nginx dizinine bağlayabilirsiniz (bind-mount):

İşte bu komut hakkında daha ayrıntılı bilgi:

  • --name=nginx kolay başvuru için konteynere bir isim verir.
  • -d argümanı işlemi ayırır ve arka planda çalıştırır.
  • -v hostPath:containerPath bağlamayı gerçekleştirmek için ana makine yolunu ve konteyner yolunu eşler.
  • -p hostPort:containerPort argümanı, konteynerin portunu ana makine portuna eşler.
  • nginx satırın sonundaki, konteyneri başlatmak için kullanılması gereken imajın adıdır.
Not: hostPath'i başlatmak için her zaman / veya ~/ kullanın, aksi takdirde -v argümanı yolu birimin adı olarak kabul eder ve bağlamayı gerçekleştirmez.

Adım 2 – Ana Makinedeki Verilere Erişme

Şimdi, sunucunuzda çalışan bir Nginx konteyneriniz var ve sunucunuzun 5000 portu Nginx'in 80 portuna eşleniyor. Portu web tarayıcısında aşağıdaki URL ile açabilirsiniz:

nginx homepage

~/logs dizininde access.log ve error.log dosyalarını göreceksiniz. Günlükleri cat komutunu kullanarak görebilirsiniz:

Ana makinenizdeki ~/logs günlük dizinini de kontrol edebilir ve Nginx'in günlük dosyasını bulabilirsiniz. Dahası, logs klasöründe herhangi bir değişiklik yaparsanız, bu değişiklikler konteynerin /var/log/nginx klasörüne de yansıyacaktır.

Sonuç

Bu öğreticide, Docker konteynerinin içi ile ana makine arasında nasıl veri paylaşacağınızı öğrendiniz. Bu, hata ayıklama için günlükleri analiz etmenin şart olduğu geliştirme ortamlarında çok önemlidir.

Docker hakkında blogumuzdaki daha fazla kaynak için aşağıdakilere göz atabilirsiniz:

Keyifli Bilişimler!

author

Akshay Nagpal

Yazar · CloudSigma

Preslav Dobrev, CloudSigma'da Kreatif Tasarımcı olarak görev yapmakta olup geleneksel ve yenilikçi pazarlama kanallarını kullanarak tutarlı bir kurumsal kimlik oluşturmaya odaklanmaktadır. Sanatsal vizyonu stratejik pazarlamayla harmanlayarak etkili marka anlatıları oluşturma konusunda oldukça yeteneklidir.

Yorumlar

Henüz yorum yapılmamış. İlk siz olun.