gpt4 book ai didi

docker - docker swarm发布的端口范围

转载 作者:行者123 更新时间:2023-12-02 19:34:13 29 4
gpt4 key购买 nike

当使用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。
使用cli或compose文件,似乎无法通过docker swarm服务执行此操作。例如
~ $ 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 service create -p :80 alpine tail -f /dev/null

您可以通过在 https://github.com/docker/swarm/issues中插入问题来请求此功能

关于docker - docker swarm发布的端口范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47792383/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com