京东云服务器上使用Docker需要开启哪些安全组端口?

在京东云服务器上使用 Docker 时,是否需要开放安全组端口取决于你的具体应用场景。Docker 本身运行在宿主机上,默认使用本地 Unix 套接字(/var/run/docker.sock)进行通信,不需要对外暴露端口。但如果你有以下需求,则需要在安全组中开启相应的端口。


✅ 一、Docker 默认运行所需(无需额外开放端口)

  • Docker 守护进程默认监听本地套接字,不监听网络端口。
  • 只要你在服务器本地通过 docker 命令操作,无需在安全组中开放任何端口

⚠️ 注意:不要随意将 Docker 守护进程暴露在公网(如绑定到 0.0.0.0:23752376),否则可能导致服务器被远程控制或X_X攻击。


✅ 二、需要开放安全组端口的常见场景

使用场景 所需端口 协议 说明
运行 Web 服务(如 Nginx、Apache) 80(HTTP)
443(HTTPS)
TCP 访问网站必须开放
SSH 连接服务器管理 22 TCP 管理服务器必备
自定义应用端口(如 Node.js、Spring Boot) 3000, 8080, 9000 TCP 根据应用配置开放
Docker Registry(私有镜像仓库) 5000 TCP 若搭建私有 registry 需开放
Docker Swarm 模式集群通信 2377(管理端口)
7946(节点通信)
4789(overlay 网络)
TCP/UDP 仅用于多主机集群
远程 Docker API(不推荐公网开放) 2375(非加密)
2376(TLS 加密)
TCP 仅建议内网或通过 VPC 访问
数据库容器对外提供服务 如 MySQL 3306、Redis 6379、MongoDB 27017 TCP 仅建议限制 IP 或走内网

✅ 三、推荐的安全组配置(最小化原则)

建议只开放必要的端口,并限制源 IP:

端口 来源 IP 用途
22 你的办公/家庭公网 IP SSH 登录
80 0.0.0.0/0 公开访问 HTTP
443 0.0.0.0/0 公开访问 HTTPS
3000-3010 你信任的 IP 段 自定义应用调试
5000 内网 IP 或特定 IP 私有镜像仓库

🔐 强烈建议:

  • 不要开放 2375 到公网;
  • 数据库类端口(如 3306)应限制为内网或跳板机访问;
  • 使用 VPC 和子网隔离不同服务。

✅ 四、Docker 网络与端口映射说明

当你使用如下命令启动容器时:

docker run -d -p 8080:80 nginx
  • -p 8080:80 表示将宿主机的 8080 端口映射到容器的 80 端口。
  • 此时你需要在 京东云安全组中开放宿主机的 8080 端口,才能从网络访问。

✅ 总结:你需要做什么?

  1. 基础运维:开放 22(SSH)、80443(Web 服务)。
  2. 自定义服务:按需开放对应端口(如 3000, 8080)。
  3. 避免风险:不要暴露 Docker API(2375/2376)到公网。
  4. 集群部署:如用 Swarm,再考虑 237779464789
  5. 最小权限:安全组遵循“最小开放”原则,限制源 IP。

如有具体应用(如部署 WordPress、Nginx、Node.js、MySQL),可以告诉我,我可以给出更精确的端口建议。

未经允许不得转载:CCLOUD博客 » 京东云服务器上使用Docker需要开启哪些安全组端口?