白嫖真香!在腾讯云 CNB 上通过 Docker 部署宝塔面板

66 阅读4分钟

白嫖真香!在腾讯云 CNB 上通过 Docker 部署宝塔面板

免责声明:本文仅供技术交流与学习,CNB 提供的云端开发环境主要用于编码与测试,请勿滥用资源。

想在云端拥有一个免费的 Linux 服务器环境来学习运维或测试代码?
腾讯云新推出的 CNB (Cloud Native Builder) 配合 Docker 简直是绝配。

今天我们玩点高级的:在 CNB 的云端开发环境中,套娃运行一个宝塔面板 (BT Panel)

🎯 核心思路

CNB 的云端开发环境本身就是一个容器,但它完美支持 Docker-in-Docker (DinD)
这意味着,我们可以在 CNB 的终端里,再运行一个安装了宝塔面板的 Docker 容器,并通过 CNB 的端口转发功能访问它。

🛠️ 准备工作

  1. 1. 访问 cnb.cool/ 并登录。
  2. 2. 不需要准备服务器,有一台能上网的电脑就行。

🚀 步骤实战

第一步:创建仓库

  1. 1. 在 CNB 首页点击右上角 “新建仓库”
  2. 2. 仓库名称随便填,比如 bt-panel-demo
  3. 3. 可见性选择 “公开”“私有” 均可。

第二步:配置环境 (.cnb.yml)

在仓库根目录下创建一个名为 .cnb.yml 的文件。这是 CNB 的配置文件,我们用它来开启 Docker 支持。

# .cnb.yml
version: 1.0
name: baota-environment

# 定义开发环境
dev:
  # 使用官方推荐的基础镜像,包含 docker, node, git 等常用工具
  image: cnbcool/default-dev-env:latest
  
  # 开启 Docker 服务 (关键!)
  services:
    - docker
    
  # 环境启动后自动执行的命令
  onStart:
    - echo "正在拉取宝塔镜像..."
    - docker pull pch18/baota:latest

提交这个文件到仓库。

第三步:启动云端环境

  1. 1. 回到仓库首页,点击 “云原生开发” 按钮。
  2. 2. 等待几十秒,系统会为你初始化环境。
  3. 3. 加载完成后,你将看到一个类似 VS Code 的网页版编辑器。

第四步:安装宝塔面板

在编辑器底部的 终端 (Terminal) 中,输入以下命令来启动宝塔容器:

docker run -tid \
  --name baota \
  -p 8888:8888 \
  -p 888:888 \
  -p 80:80 \
  -p 443:443 \
  --privileged=true \
  --restart always \
  -v /workspace/wwwroot:/www/wwwroot \
  pch18/baota

命令解析

  • -p 8888:8888:将容器内的宝塔端口映射到 CNB 环境的 8888 端口。
  • --privileged=true:赋予容器特权,宝塔需要通过 systemd 管理服务,这个权限是必须的。
  • -v /workspace/wwwroot:/www/wwwroot:将网站数据挂载到 CNB 的工作区,防止重启丢失。

第五步:获取登录信息

容器启动需要几秒钟。输入以下命令进入容器,查看默认账号密码:

# 进入容器内部
docker exec -it baota bash

# 执行查看面板入口命令 (这是 pch18 镜像的专用命令)
bt default

你会看到类似这样的输出:

==================================================================
Outer Web Panel: http://ip:8888/login
Inner Web Panel: http://127.0.0.1:8888/login
username: admin
password: password123
==================================================================

记下这个 username 和 password。

第六步:访问面板

重点来了!你没有公网 IP,怎么访问?

  1. 1. 在 CNB 编辑器底部,找到 “端口 (Ports)” 标签页。
  2. 2. 你应该能看到 8888 端口已经处于 "Active" 状态。
  3. 3. 点击 8888 端口旁边的 “地球图标 (Open in Browser)”
  4. 4. 浏览器会打开一个长链接,这就是 CNB 为你生成的临时访问地址。

注意
如果打开后显示 404 或者无法连接,请检查刚刚 bt default 输出的地址中是否包含安全入口(如 /login 后面的随机字符)。你需要手动把 URL 拼接到 CNB 生成的域名后面。

例如:

  • • CNB 生成的域名:https://8888-r-xxx.cnb.cool/
  • • 宝塔安全入口:/login
  • • 最终访问地址:https://8888-r-xxx.cnb.cool/login

第七步:尽情折腾

输入账号密码登录后,熟悉的宝塔界面就出现了!
你可以:

  • • 一键安装 Nginx, PHP, MySQL。
  • • 搭建一个 WordPress 博客(端口记得用 80)。
  • • 在 CNB 的 Ports 面板打开 80 端口的访问地址,预览你的网站。

⚠️ 注意事项 (必读)

  1. 1. 数据持久性:CNB 的环境在长时间不操作后会休眠。虽然 /workspace 目录下的数据通常会保留,但容器本身可能会被重置。建议将重要数据都挂载到 /workspace 目录下。
  2. 2. 资源限制:免费版环境有 CPU 和内存限制,不要运行过重的业务(如编译大型安卓项目)。
  3. 3. 用途建议:这套方案非常适合测试环境搭建、Linux 命令学习、宝塔插件开发调试,但不建议用于生产环境建站。

通过 CNB + Docker,我们成功把“笨重”的宝塔面板装进了轻量的云端 IDE 里。这不仅是技术的套娃,更是云原生时代“环境即服务”的最佳实践。快去试试吧!

推荐阅读