什么是 Docker Compose 的 ports?
在 docker-compose.yml 文件中,ports 用于将容器内部的端口暴露给宿主机,从而允许外部访问容器中的服务。
基本语法
常见格式如下:
# 简写形式(推荐用于开发)
ports:
- "8080:80"
# 长格式(支持更多选项)
ports:
- target: 80
published: 8080
protocol: tcp
mode: host
常用示例
1. 映射到任意主机端口
ports: - "80"
容器的 80 端口会映射到主机的一个随机可用端口(需通过 docker-compose port 查看)。
2. 指定主机端口
ports: - "8080:80"
将主机的 8080 端口映射到容器的 80 端口。
3. 限制 IP 地址
ports: - "127.0.0.1:8080:80"
仅允许本地回环地址访问该服务。
注意事项
- 确保主机端口未被占用,否则容器启动会失败。
- 生产环境中建议使用明确端口而非随机端口。
- 若只需容器间通信,可使用
expose而非ports。