liman işçisi konteynerlerin rastgele dış portuna sahip benim makinem, ama sunucu sunumunda hizmet için docker kullanmak istiyorum, ancak şu anda mümkün görünmüyor.Kullanım Eureka rağmen Üzerinde hizmetlerini başlatmak zaman çalışır ön-</p> <p>ters vekil dayalı bir Zuul ile birkaç yay çizme bazlı microservices oluşan bir uygulama yazıyorum
Normalde kabın dış kısmında sabit bir "dahili" bağlantı noktası ve rastgele ayrılmış bağlantı noktalarına sahip olursunuz. Ancak kapsayıcıdaki uygulama, dış bağlantı noktasını (ve IP'yi) bilmemektedir.
Netflix araçları, verimli bir mikro sistem mimarisi yazmak istediğimle eşleşiyor ve kavramsal olarak docker'ı gerçekten seviyorum. Görebildiğim kadarıyla, kapsayıcıyı başlatmak, ana portta dış bağlantı noktasını toplamak ve uygulamaya aktarmak çok zahmetli olur çünkü uygulama başlatıldıktan sonra bağlantı noktasını değiştiremezsiniz.
Docker tabanlı istemcilerle eureka'yı kullanmanın bir yolu var mı?
[Güncelleme] Sorunu açıklayan kötü bir iş yaptım sanırım. Bu belki biraz daha açıklığa kavuşabilir:
Sadece bir tane ve dış bağlantı noktası önemli olmadığı için eureka sunucusunun kendisi docker ile çalışabilir. Bağlantı özelliğini istemcilerden erişmek için kullanabilirim.
Sorun, istemcilerin kendilerini kaydettirdikleri URL'dir. Bu, örneğin https://localhost:8080/ Fakat halkın eureka hizmetler için yanlış URL'yi dönecektir Yani aslında yalnızca erişilebilir https://localhost:54321/
yoluyladır dinamik bağlantı noktası atama etmektir.
UPDATE Aşağıdaki cevabımı güncelledim, o yüzden buraya bakın.
Belki en iyi çözüm değildir bir çözüm kendim buldum, ama benim için uygun
https://registry.hub.docker.com/search?q=eureka&searchfield= ve 3 zuul https://registry.hub.docker.com/search?q=zuul&searchfield= adresinde Eureka ile 14 tane docker görüntünüz var. Belki de ilişkili Dockerfiles – user2915097
'a bir göz atmalısınız. Sorun eureka ile bir docker görüntüye sahip değil. Sorun, uygulamanın kendi iç limanı bildiği için müşterilerin eureka'ya kendi dış dünya portlarıyla rastlayamadıklarıdır. –
>>> uygulamanın kendisi sadece iç portu biliyor -> iç limanı yazmak ve okumak için bir hacim kullanabilirsiniz, bkz. Https://docs.docker.com/userguide/dockervolumes/ see docker run --volumes - – user2915097