我縮放容器
ports:
- "8086-8090:8085"
但是如果我只在橋接網路中需要它呢?換句話說,它是否存在這樣的東西?
expose:
- "8086-8090:8085"
更新:我有一個主容器:
- 暴露于主機網路
- 充當負載均衡器
我想要另一個容器的 N 個從站,暴露在 docker 網路中的指定埠(主機網路中可見的機器人)
uj5u.com熱心網友回復:
容器之間的連接(通過 Docker 內部橋接網路)根本不需要ports:,您可以洗掉該塊。您只需要ports:接受來自 Docker 外部的連接。如果容器內的行程正在偵聽埠 8085,則容器之間的連接將始終使用埠 8085,無論ports:您擁有什么映射或是否有映射。
expose:在 Compose 檔案中幾乎什么都不做。您永遠不需要包含它,洗掉它總是安全的。
(在第一代 Docker 網路中并非如此。然而,Compose 檔案 v2 和 v3 總是提供 Docker 檔案中所謂的“用戶定義的橋接網路”,它不以任何方式使用“暴露的埠” . 我不完全清楚為什么要保留過時expose:和links:選項。)
uj5u.com熱心網友回復:
無需額外更改!
由于內部 Docker DNS,它在同一埠下“隱藏”了縮放的實體:
version : "3.8"
services:
web:
image: "nginx:latest"
ports:
- "8080:8080"
然后
docker-compose up -d --scale web=3
呼叫 localhost:8080 將使用 Round Robin 將請求代理到所有實體!
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/372004.html
