Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 8925|Yanıt: 0

Docker konteyneri harici ana hizmetlere erişmek için

[Bağlantıyı kopyala]
Yayınlandı 19.11.2019 10:10:01 | | | |
Docker konteynerinin varsayılan ağı, ana bilgisayarla aynı LAN'da (ayrı bir LAN IP'si kullanılan) bir köprü şeklindedir; program üretim ortamında çalışırken, veritabanı, redis vb. ile bağlantı sağlamak için sadece ilgili hizmet adresini yapılandırmanız yeterlidir.

Bir geliştirme ortamında, hizmet docker'da çalışıyor ve veritabanı yerel olarak çalışıyorsa, 127.0.0.1'i yapılandırmak kolay değildir.

Bu iki şekilde çözülebilir.

Çözüm 1:

Ana makine ve konteyneri iki ayrı makine olarak ele alın ve adresi yapılandırırken ana bilgisayarın LAN IP'sini veya genel IP'sini yapılandırın.

Çözüm 2:

Ancak ana adresi doğrudan şu şekilde yaz: host.docker.internalİkinci yöntem ise docker sürümünün 18.03'ten büyük olmasını gerektirir ve Windows ile Mac'te mevcut olmalıdır

Bu iki yöntemin ana bilgisayara erişip erişemediğini test etmek için, docker ile doğrudan bir görüntü çalıştırarak komut satırına ping atabilirsiniz:

Ping aracını Docker ile oluşturulmuş bir konteynere kurmak
https://www.itsvse.com/thread-8966-1-1.html
(Kaynak: Architect_Programmer)


Yukarıdaki görselden de görebileceğiniz gibi, konteyner erişimihost.docker.internalHost hizmetine erişebilirsiniz, /etc/hosts dosyasını kontrol ederek, alan adı yönlendirmesi olmadığını ve docker'ın temel ilkesini bilmediğinizi göreceksiniz.

Hem ana bilgisayar hem de konteyner, host.docker.internal üzerinden ana bilgisayarın hizmetlerine erişebilir, ancak ping komutuyla geri dönen adres farklıdır, aşağıdaki gibi:









Önceki:Örnekler, Redis önbellek penetrasyonu, önbellek çığı ve önbellek dağılımının ne olduğunu açıklar
Önümüzdeki:Autofac "Dairesel bileşen bağımlılığı tespit edildi" hatası çözüldü
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com