2016-04-08 16 views
0

Swarm kümemde yalnızca 1 düğüm olduğunda ve bu düğümde web uygulaması kapsayıcımı yeniden oluşturmaya çalıştığımda this sorununa rastladım (Bağlantı noktasını dinleyen Node.JS web uygulamasının yeni bir sürümünü dağıtmak istiyorum) 80)Kapsayıcılar Docker Compose ile birden çok düğümlü bir Swarm Kümesi nasıl yeniden oluşturulur?

sorun Sürü Önce eski konteyner durur ama o kaldırmak ve sonra yenisini oluşturmaya çalışır vermez ve Sürü de durdu konteynerler için liman kısıtlamaları izler, bunun nedeni üzerinde düşünüyor olmasıdır benim düğüm noktası 80 (durduruldu kap tarafından) hala kullanımda:

Recreating 41910b0283eb_41910b0283eb_41910b0283eb_vagrant_web_1 
ERROR: unable to find a node with port 80 available 

Thi 2 çözümleri de olabilir Sorun: Her dağıtım öncesi

  1. , yapabileceğim docker-compose stop ve durur ve konteyner çalışan her kaldırır docker-compose rm - bunun yanı sıra Swarm için port 80 açacak. Başka bir çözüm birden fazla düğümlere sahip olmak ve rahatlamaktır. Compose, kapsayıcınızı yeniden oluşturduğunda, Swarm hiç kimsenin port 80'i kullanamadığı ve yeni kabı bu diğer düğüm üzerinde başlattığı rasgele bir düğüm bulur.

Çözüm 1 ile çalışabilirim. Ancak birden çok düğüm olduğunda bunu nasıl çalıştıracağımızı bilmek istiyorum.

2. yaklaşımdaki sorunum, genellikle bir web uygulamasının etki alanı kaydı için kullanabileceğim bir sabit IP'ye sahip olması gerektiğidir. Swarm, web uygulamamı rastgele seçilen bir düğüme dağıtırsa, bu sorunu nasıl çözebilirim?

Round-robin DNS numaralı telefonu kullanabilirim ancak yardımcı olabileceğinden emin değilim çünkü bu durumda kümemde 3 düğüm varsa, her düğümde web uygulamasının bir örneğine sahip olmam gerekiyor. Ama bu durumda, o zaman aynı sorunla karşılaşmazdım? Swarm, birisinin hala 80 numaralı bağlantı noktasını kullandığını düşünür, böylece 80 numaralı bağlantı noktasıyla herhangi bir düğüm bulamaz.

Bu nasıl çalışır?

cevap

İlgili konular