在 CNB 平台免费部署云端 Chromium 浏览器 —— 完整实战指南

平台说明:本教程基于腾讯云 CNB(Cloud Native Build) 平台进行部署。CNB 是腾讯推出的云原生构建平台,每月免费提供 1600 核时(约等于 8核16G 配置每天免费用 7 小时),内置 Docker 生态支持,无需自备服务器即可完成本教程的全部操作。

目标:利用 CNB 免费算力,部署一个可通过浏览器随时访问的完整 Chromium 云端桌面浏览器。


为什么选择 CNB 平台?

优势 说明
完全免费 每月 1600 核时免费额度,个人日常使用完全够用
免运维 无需购买和维护服务器,开箱即用
原生 Docker 支持 流水线内可直接运行 Docker 命令
网络加速 DockerHub 拉取镜像走腾讯云内网,速度极快
微信登录 扫码即登录,无需注册额外账号

第零步:注册并进入 CNB 平台

  1. 打开 https://cnb.cool,微信扫码登录
  2. 创建一个新仓库(或 Fork 已有项目)
  3. 点击「云原生开发」启动 WebIDE(内置终端,相当于一台云端 Linux 服务器)
  4. 在 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 中设置的 USERNAMEPASSWORD,即可看到完整的 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 文章来源: