簡體   English   中英

docker swarm發布的端口范圍

[英]docker swarm published port range

使用docker run發布端口時,我們可以讓docker從指定范圍內動態選擇一個主機端口,例如:

~ $ docker run -d -p 30005-30010:80 alpine tail -f /dev/null
263d3cfa4ba591cb9a1adb5087058aa716c534f33a498cc5457c0c2152b41808
~ $ docker port 263
80/tcp -> 0.0.0.0:30005

在這里,docker在主機上選擇了一個范圍為30005-30010的空閑端口來映射到容器的端口80。docker swarm服務似乎無法使用cli或compose文件來實現。 例如

~ $ docker service create -p 30005-30010:80 alpine tail -f /dev/null
invalid argument "30005-30010:80" for p: invalid hostport binding (30005-30010) for port (80)

這是群模式的限制,還是我缺少什么?

docker service create ...似乎不支持端口范圍。

堆棧文件中也不支持它。 當您使用主機端口范圍進行docker stack deploy ...時, docker stack deploy ...顯示相同的錯誤。

但是,支持隨機端口:

docker service create -p :80 alpine tail -f /dev/null

您可以通過在https://github.com/docker/swarm/issues中插入問題來請求此功能

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM