禁止套娃?在浏览器里运行浏览器 (Docker Chromium 实战)

禁止套娃?在浏览器里运行浏览器 (Docker Chromium 实战)

你是否想过,在你的 Chrome 浏览器里,再打开一个"云端"的 Chrome?

这不是什么《盗梦空间》的情节,而是 Docker 容器化技术的又一个神奇应用。通过 LinuxServer.io 推出的 chromium 镜像,我们可以在服务器(或 NAS)上运行一个完整的桌面版 Chromium 浏览器,并通过 Web 界面(KasmVNC)随时随地访问它。

🧐 为什么要这么做?

    1. 网络环境隔离:在公司内网访问外网,或者访问一些不信任的网站时,用这个容器作为"跳板",保护本机安全。
    1. 爬虫调试:在无头(Headless)模式抓取失败时,可以通过这个可视化界面看看网页到底渲染成了什么样。
    1. NAS 下载伴侣:配合 NAS,直接在服务器上下载网盘资源,省去了"下载到本地 -> 上传到 NAS"的步骤。
    1. 访问内网服务:通过它访问服务器所在的局域网设备(如路由器后台),自带"内网穿透"效果。

🚀 极速部署

我们将使用 LinuxServer 维护的 Docker 镜像。它内置了 KasmVNC,让你在浏览器里就能流畅操作远程桌面。

命令行部署 (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"最重要参数! 浏览器非常消耗共享内存,默认的 Docker 64MB 内存会导致页面频繁崩溃(Crash)。建议至少设置 1GB,甚至 2GB。
  • -p 3000:3000 :这是 Web 访问端口,部署后通过 http://IP:3000 访问。
  • -p 3001:3001:HTTPS 访问端口(可选)。
  • -e PUID/PGID:Linux 用户 ID,防止出现文件权限问题。
  • -e CHROME_CLI:你可以指定浏览器启动时打开哪个网页。

Docker Compose 部署 (推荐)

如果你喜欢用 docker-compose.yml 管理:

复制代码
version: "3"
services:
  chromium:
    image: lscr.io/linuxserver/chromium:latest
    container_name: chromium
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
      - CHROME_CLI=https://www.baidu.com/
    volumes:
      - /data/chromium/config:/config
    ports:
      - 3000:3000
      - 3001:3001
    shm_size: "1gb" # 同样别忘了这个
    restart: unless-stopped

🎮 使用体验

部署完成后,打开浏览器访问 http://你的服务器IP:3000

你会看到一个类似于 Linux 桌面的界面,里面运行着一个全屏的 Chromium 浏览器。

特色功能:

    1. 剪贴板同步:界面左侧有一个小箭头,点开后有剪贴板工具,支持本机和云端浏览器互相复制粘贴文本。
    1. 无损画质:KasmVNC 的流传输技术非常强,在局域网内几乎感觉不到延迟,看视频都行。
    1. 持久化 :你登录的账号、书签、历史记录都会保存在映射的 /config 目录里,重启容器不会丢失。

⚠️ 避坑指南

    1. 中文乱码 :默认镜像可能只有英文字体。如果你打开中文网页显示方框,需要进入容器安装中文字体:

      docker exec -it chromium bash
      apk add font-noto-cjk

      重启容器

      docker restart chromium

    1. 内存占用:Chrome 是著名的"内存吞噬者",建议给服务器预留至少 2GB 内存。
    1. 安全警告 :这个容器相当于一个可以直接访问内网的浏览器,千万不要在没有密码保护的情况下将其暴露到公网!如果必须公网访问,请配合 Nginx Proxy Manager 设置密码认证。

现在,你拥有了一个永远在线、随时待命的云端浏览器,快去试试"在浏览器里刷 B 站"的奇妙体验吧!

推荐阅读
  • • 从"上帝视角"到"全自动代理":如何打造能完成复杂任务的专属 AI Agent
  • • 在线编码工具TraeOnline
  • • 揭秘 AI 编辑器核心原理:AI 是如何"修改"你的代码的?
  • • 还在为"出海"应用发愁?亚马逊云香港服务器免费用一年,这波羊毛必须薅!

相关推荐
空管电小二14 小时前
【低压断路器的选择性配合】低压配电“安全后盾“:后备保护到底是什么?
运维·经验分享·安全·学习方法
奇妙之二进制14 小时前
zmq源码分析之PUSH/PULL 模式的负载均衡分析
运维·网络·负载均衡
牛奶咖啡1314 小时前
Docker容器实践——Docker常用基础镜像的解析与选择
docker·容器·docker基础镜像·docker基础镜像选择·docker基础镜像最佳实践·docker基础镜像的分类·docker基础镜像的对比
wheeldown14 小时前
2026年4月横评三款主流远控软件实况实测:UU远程,Todesk,向日葵,综合性能 UU 远程表现最佳
linux·运维·服务器
java_logo15 小时前
Docker 部署 Open WebUI + Ollama 完整教程(Windows / Linux 通用)—— 打造自己的本地OpenAI
linux·docker·容器·ollama·open-webui·open-webui部署·open-webui教程
杨浦老苏15 小时前
AI使用追踪和代理网关GoModel
人工智能·docker·ai·api·群晖
程序员老邢15 小时前
【技术底稿 23】Ollama + Docker + Ubuntu 部署踩坑实录:网络通了,参数还在调
java·经验分享·后端·ubuntu·docker·容器·milvus
小夏子_riotous15 小时前
Docker学习路径——8、Dockerfile
linux·运维·docker·容器·系统架构·centos·运维开发
2601_9552564715 小时前
服务器日志管理最佳实践:logrotate配置详解、云日志服务对比与Docker日志限制方案
运维·服务器·docker
切糕师学AI15 小时前
Docker Compose 完全指南:从入门到实践
运维·docker·容器