我想安裝一個微服務部署(部署文件在https://github.com/mojlighetsministeriet/groups/blob/master/docker-compose.example.yml)與幾個服務將使用HTTP(希望稍後HTTPS)通信內部沒有暴露在網絡之外。我稍後將添加一個代理服務,將公開特定的功能。我想這樣做,特別是與碼頭工人羣模式,我喜歡的可能性來定義一個碼頭工人,compose.yml部署這樣我就可以啓動:碼頭羣模式,內部運行多個服務具有獨特的域名,但每個端口80
$ docker stack deploy my-platform -c docker-compose.example.yml
我想國內的API網址是像GET http://identity-provider/public-key和GET http://groups/b0c44674-58e0-4a8a-87e0-e1de35088964。我之前已經使用Kubernetes設置完成了這個任務,並且效果很好,但現在我想用docker swarm模式實現這一點。
DNS部分沒有任何問題,但docker swarm模式不允許我讓每個服務都在端口80上監聽(稍後會是443)。即使每個服務都具有唯一的域名(如身份提供者或組等),它也會不斷抱怨端口衝突。
我應該使用特定的網絡驅動程序來實現它嗎?我目前使用覆蓋。
使用沒有隨機端口的域名會使服務之間的呼叫更容易記住。 http://identity-provider:1234和http://groups:1235,端口只會增加設置的複雜性。
我很好,使用任何超級尖端版本的碼頭ce,如果這有助於某種方式。
這應該是可以吧?
我猜我認爲這將是可能的,因爲每個服務都有一個唯一的DNS記錄我假設每個服務也有一個唯一的IP,因此將允許多個服務發佈在相同的端口但具有不同的IP地址。 – Tirithen