我正在使用AWS上的ECS服務,我遇到了這個問題 - 我需要在ECS上運行的docker容器是webservices,每個容器應該有其內部端口80映射到容器主機上的隨機端口。我不想事先爲80容器端口指定主機端口,我想讓docker守護進程爲容器找到主機端口。使用隨機主機端口註冊ELB到ECS服務
但是,ELB如何適合這裏?對我來說,看起來我必須知道主機端口才能夠爲服務創建ELB。
是這樣嗎?
我正在使用AWS上的ECS服務,我遇到了這個問題 - 我需要在ECS上運行的docker容器是webservices,每個容器應該有其內部端口80映射到容器主機上的隨機端口。我不想事先爲80容器端口指定主機端口,我想讓docker守護進程爲容器找到主機端口。使用隨機主機端口註冊ELB到ECS服務
但是,ELB如何適合這裏?對我來說,看起來我必須知道主機端口才能夠爲服務創建ELB。
是這樣嗎?
你需要一個服務發現系統,如Hashicorp's Consul,然後你需要將它與AWS基礎設施集成:https://aws.amazon.com/blogs/compute/service-discovery-via-consul-with-amazon-ecs/
ELB不允許綁定到隨機端口。
我們最近用ECS和CONSUL實現了服務發現。我們必須在ELB和我們的應用之間引入Zuul作爲中間層。
ELB映射到靜態端口上的zuul,但Zuul動態地發現後端服務並路由流量。
這是現在可以使用Application load balancer
但是,如果您需要打開的安全組入站流量,安全組的端口映射不會自動更新。
服務發現是一回事,但它如何幫助集成ELB和容器? 我只是想知道如何確保一個容器隨機挑選的主機端口與ELB實例端口匹配。 – stibi
https://github.com/sebest/docker-elb-consul – irakli
領事不幫助ELB問題 - ELB不能處理隨機端口。你雖然可以放棄面向內部應用的ELB,而是與Consul集成。 –