ports 配置项分为短语法和长语法
短语法比较常见的如:
ports:
- "3000" # 主机自动分配未被占用的端口
- "3000-3005" # 端口范围 规则和上边相同
- "8000:8000" # 比较常见的 容器端口8000 对应主机端口8000
- "9090-9091:8080-8081" # 端口范围 规则和上边一天相同
- "49100:22"
- "127.0.0.1:8001:8001" # 绑定主机ip 默认所有范围0.0.0.0
- "127.0.0.1:5000-5010:5000-5010"
- "6060:6060/udp" #限制为指定的协议udp
长语法:
可以实现段语法无法实现的功能
ports:
- target: 80 # 容器端口
published: 8080 # 公开端口
protocol: tcp # 协议
mode: host # 实现在每个节点发布端口 这个就属于长语法独有的;用于部署集群服务中 和 (deploy: mode: global docker集群的每个节点都部署一个该服务) 配合使用 ps:个人理解到的 不知道还有别的什么地方可以用
配置项大多可以分长语法和段语法具体参考官方文档
官方参考地址:https://github.com/compose-spec/compose-spec/blob/master/spec.md