在 CNB 平台免费部署云端 Chromium 浏览器 —— 完整实战指南
平台说明:本教程基于腾讯云 CNB(Cloud Native Build) 平台进行部署。CNB 是腾讯推出的云原生构建平台,每月免费提供 1600 核时(约等于 8核16G 配置每天免费用 7 小时),内置 Docker 生态支持,无需自备服务器即可完成本教程的全部操作。
目标:利用 CNB 免费算力,部署一个可通过浏览器随时访问的完整 Chromium 云端桌面浏览器。
为什么选择 CNB 平台?
| 优势 | 说明 |
|---|---|
| 完全免费 | 每月 1600 核时免费额度,个人日常使用完全够用 |
| 免运维 | 无需购买和维护服务器,开箱即用 |
| 原生 Docker 支持 | 流水线内可直接运行 Docker 命令 |
| 网络加速 | DockerHub 拉取镜像走腾讯云内网,速度极快 |
| 微信登录 | 扫码即登录,无需注册额外账号 |
第零步:注册并进入 CNB 平台
- 打开 https://cnb.cool,微信扫码登录
- 创建一个新仓库(或 Fork 已有项目)
- 点击「云原生开发」启动 WebIDE(内置终端,相当于一台云端 Linux 服务器)
- 在 WebIDE 的终端中执行后续所有命令
CNB 的云原生开发环境已预装 Docker,无需手动安装。
环境确认
在 CNB WebIDE 终端中确认 Docker 可用:
# 检查 Docker 是否已就绪
docker --version
docker info
方式一:Docker CLI(快速体验)
直接复制执行,一条命令完成部署:
docker run -d \
--name=chromium \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-e CHROME_CLI=https://www.baidu.com/ \
-p 3000:3000 \
-p 3001:3001 \
-v /data/chromium/config:/config \
--shm-size="1gb" \
--restart unless-stopped \
lscr.io/linuxserver/chromium:latest
参数说明:
| 参数 | 说明 |
|---|---|
--shm-size="1gb" |
最关键参数,防止浏览器页面频繁崩溃,至少 1GB |
-p 3000:3000 |
HTTP 访问端口 |
-p 3001:3001 |
HTTPS 访问端口(可选) |
-e PUID/PGID=1000 |
文件权限用户 ID,防止权限问题 |
-e TZ=Asia/Shanghai |
时区设置为上海 |
-e CHROME_CLI=... |
浏览器启动时默认打开的网址 |
-v /data/chromium/config:/config |
数据持久化目录,保存书签/账号等 |
方式二:Docker Compose(推荐生产使用)
第一步:创建项目目录
mkdir -p /data/dk_project/dk_app/dk_chrome/data
cd /data/dk_project/dk_app/dk_chrome
第二步:创建 .env 文件
cat > .env << 'EOF'
DATA=/data/dk_project/dk_app/dk_chrome/data
HTTP_PORT=33001
HTTPS_PORT=33002
PASSWORD=your_strong_password_here
USERNAME=admin
MEM=1g
EOF
务必将
PASSWORD改为你自己的强密码
第三步:创建 docker-compose.yml
cat > docker-compose.yml << 'EOF'
services:
chromium:
image: linuxserver/chromium:latest
container_name: chromium
environment:
- TZ=Asia/Shanghai
- LC_ALL=zh_CN.UTF-8
- PASSWORD=${PASSWORD}
- CUSTOM_USER=${USERNAME}
- CUSTOM_PORT=${HTTP_PORT}
- CUSTOM_HTTPS_PORT=${HTTPS_PORT}
ports:
- "${HTTP_PORT}:${HTTP_PORT}"
- "${HTTPS_PORT}:${HTTPS_PORT}"
volumes:
- ${DATA}:/config
shm_size: "1gb"
mem_limit: ${MEM}
restart: unless-stopped
networks:
- chrome_net
networks:
chrome_net:
driver: bridge
EOF
第四步:启动服务
docker compose up -d
第五步:查看启动日志,确认无报错
docker compose logs -f chromium
看到类似如下输出即为成功:
[services.d] done.
访问云端浏览器
打开本机浏览器,访问:
http://服务器IP:33001
输入你在 .env 中设置的 USERNAME 和 PASSWORD,即可看到完整的 Chromium 桌面界面。
常见问题处理
问题 1:中文网页显示方框(乱码)
# 进入容器
docker exec -it chromium bash
# 安装中文字体(Alpine 系统)
apk add font-noto-cjk
# 退出容器并重启
exit
docker restart chromium
问题 2:页面频繁崩溃(Crash)
# 停止当前容器
docker stop chromium && docker rm chromium
# 增大共享内存重新运行(改为 2GB)
docker run -d ... --shm-size="2gb" ...
问题 3:检查容器运行状态
docker ps -a | grep chromium
# 查看资源占用
docker stats chromium
特色功能
剪贴板同步:页面左侧有侧边栏,点击后可在本地与云端浏览器之间互相复制粘贴文本。
数据持久化:书签、登录账号、历史记录均保存在挂载目录,容器重启不丢失。
安全加固建议
# 不要将端口直接暴露到公网!
# 推荐配合 Nginx Proxy Manager 添加认证层
# 或者只监听本地,通过 SSH 隧道访问
-p 127.0.0.1:33001:33001
通过 SSH 隧道访问:
ssh -L 33001:localhost:33001 user@服务器IP
# 然后本地访问 http://localhost:33001
适用场景总结
- 隔离访问不可信网站,保护本机安全
- NAS 直接下载网盘资源
- 访问服务器内网设备(路由器后台等)
- 调试爬虫渲染效果
参考原文:https://mp.weixin.qq.com/s/LVp_MIDVS-P6qjgH58GUxw 文章来源: