服务器没有桌面?Docker 跑个 Chrome,浏览器就能远程用

简介: 在无图形界面的服务器(云/VPS/家用主机)上,通过 `linuxserver/chrome` Docker 镜像,一键部署可远程访问的完整 Chrome 浏览器。无需桌面环境,HTTPS 访问、持久化配置、中文支持、基础认证一应俱全,适用于调试、内网管理、隔离浏览与自动化测试。

云服务器、VPS、家里的小主机——很多时候只有 SSH,没有图形桌面。但你可能仍然需要:调试一个网页、登录只能内网访问的管理后台、在隔离环境里随便浏览、或者给自动化测试准备一个标准 Chrome 环境。

这时候,linuxserver/chrome 就派上用场了。它是 LinuxServer.io 团队维护的 Docker 镜像,在容器里跑完整的 Google Chrome,并通过 Web 界面远程操作——不用装桌面环境,打开浏览器就能用。

本文基于真实部署过程,手把手带你完成:镜像拉取 → 容器启动 → 浏览器访问 → 端口冲突排查。全程可复制命令,踩过的坑也一并说明。


一、镜像拉取

先拉取镜像:

docker pull docker.xuanyuan.run/linuxserver/chrome:latest

拉取成功后,终端会显示各 Layer 下载完成,并输出镜像摘要(Digest):
通过轩辕镜像拉取chrome镜像

想提前了解环境变量、端口说明、GPU 加速等配置?可以打开 linuxserver/chrome 中文镜像页 https://xuanyuan.cloud/zh/r/linuxserver/chrome,里面有完整的中文文档和一键拉取命令。

这个镜像适合什么场景?

  • 远程浏览器:在无桌面服务器上跑 Chrome,浏览器访问即可操作
  • 自动化测试:提供标准化的 Chrome 环境
  • 隔离浏览:在容器沙箱里访问网页,与宿主机隔离
  • 开发调试:临时需要一个完整浏览器,又不想装桌面

二、一键启动容器

创建配置目录(用于持久化 Chrome 用户数据和设置):

mkdir -p /opt/chrome/config

执行以下 docker run 命令启动:

docker run -d \
  --name=chrome \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Asia/Shanghai \
  -e LC_ALL=zh_CN.UTF-8 \
  -e CUSTOM_USER=admin \
  -e PASSWORD=你的强密码 \
  -p 3000:3000 \
  -p 3001:3001 \
  -v /opt/chrome/config:/config \
  --shm-size=1gb \
  --restart unless-stopped \
  docker.xuanyuan.run/linuxserver/chrome:latest

关键参数说明

参数 作用
-p 3000:3000 HTTP 端口(一般需反向代理,日常访问建议用 3001)
-p 3001:3001 HTTPS 端口,推荐用这个访问远程 Chrome
-v /opt/chrome/config:/config 持久化配置、书签、登录状态等
--shm-size=1gb 共享内存,看 YouTube 等站点建议设置,避免页面卡死
PUID / PGID 与宿主机用户 ID 一致,避免卷权限问题(用 id 命令查看)
TZ=Asia/Shanghai 时区设为国内
LC_ALL=zh_CN.UTF-8 中文界面
CUSTOM_USER / PASSWORD 启用 HTTP 基本认证,强烈建议设置

权限提示:如果 /opt/chrome/config 出现权限问题,执行 sudo chown -R 1000:1000 /opt/chrome/config(将 1000 换成你的 PUID/PGID)。

可选:指定 Chrome 启动时打开的网页:

-e CHROME_CLI=https://www.baidu.com

三、浏览器访问远程 Chrome

容器启动后,在本机浏览器打开:

https://你的服务器IP:3001/

首次访问浏览器可能提示「连接不安全」(自签名证书),选择「继续访问」即可。若设置了 CUSTOM_USERPASSWORD,会弹出登录框——输入后即可看到 Chrome 桌面。

浏览器访问远程 Chrome 桌面,登录界面

浏览器访问远程 Chrome 桌面,浏览器打开界面

浏览器访问远程 Chrome 桌面,搜索结果界面

常用运维命令:

docker ps                  # 确认容器在运行
docker logs -f chrome      # 查看启动日志
docker exec -it chrome /bin/bash   # 进入容器 Shell

四、踩坑实录:3000 端口被占用

按上面的命令启动时,你可能遇到这样的报错:

docker: Error response from daemon: failed to set up container networking:
driver failed programming external connectivity on endpoint chrome (...):
failed to bind host port 0.0.0.0:3000/tcp: address already in use

意思是宿主机的 3000 端口已被其他程序占用(常见是 Node 服务、Grafana、其他 Web 应用等)。容器虽然创建了,但网络没绑成功,实际上并没有正常运行。

排查占用

sudo ss -tlnp | grep :3000
# 或
sudo lsof -i :3000

同时建议检查 3001 是否也被占用:

sudo ss -tlnp | grep :3001

解决方案:换宿主机端口(推荐)

删掉失败的容器,把端口映射改成未占用的端口,例如 1300013001

docker rm -f chrome

docker run -d \
  --name=chrome \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Asia/Shanghai \
  -e LC_ALL=zh_CN.UTF-8 \
  -e CUSTOM_USER=admin \
  -e PASSWORD=你的强密码 \
  -p 13000:3000 \
  -p 13001:3001 \
  -v /opt/chrome/config:/config \
  --shm-size=1gb \
  --restart unless-stopped \
  docker.xuanyuan.run/linuxserver/chrome:latest

访问地址改为:

https://你的服务器IP:13001/

若从外网访问,记得在防火墙放行对应端口:

sudo ufw allow 13001/tcp

五、安全提醒

linuxserver/chrome 功能强大,但安全配置不能省:

  1. 默认无密码时不要暴露到公网。至少设置 CUSTOM_USER + PASSWORD
  2. Web 界面内含终端,有 GUI 访问权限的用户可在容器内获得较高权限,不要给不可信的人开放。
  3. 完整功能需要 HTTPS。现代 Web API(如 WebCodecs)在 HTTP 下可能不可用,所以优先用 3001(或映射后的 HTTPS 端口)。
  4. 公网部署建议放在 Nginx、Caddy 等反向代理后面,并配置更强的认证机制。

更多安全说明见 linuxserver/chrome 镜像文档 https://xuanyuan.cloud/zh/r/linuxserver/chrome


六、延伸阅读

  • linuxserver/chrome 中文镜像页 https://xuanyuan.cloud/zh/r/linuxserver/chrome — 环境变量、GPU 加速、Docker Compose 示例
  • Docker Run 在线助手 https://xuanyuan.cloud/docker/run — 选镜像、配端口/环境变量,自动生成 docker run 命令
  • 相关镜像:browserless/chrome(无头 Chrome,适合截图和自动化)、linuxserver/firefox(Firefox 远程浏览器版)

总结

三步搞定远程 Chrome:

  1. 拉取docker pull docker.xuanyuan.run/linuxserver/chrome:latest
  2. 运行docker run 映射 3001 端口,挂载 /config,设置密码
  3. 访问:浏览器打开 https://服务器IP:端口/

端口冲突时,换一组宿主机端口(如 13001:3001)即可,不必和 3000 死磕。

更多 Docker 镜像的中文文档、部署教程和在线工具,欢迎访问 轩辕镜像 https://xuanyuan.cloud

目录
相关文章
|
19天前
|
存储 人工智能 数据可视化
别再手动复制 Skill 了:多 Agent 时代的 Skill 管理方案
多 Agent 场景下 Skill 的统一管理与同步。
578 127
|
23天前
|
人工智能 自然语言处理 Linux
基于 Docker 的 OpenCode 部署指南:Linux 云服务器上搭建浏览器 AI 编程环境
想在浏览器里用 AI 帮你写代码、改项目?OpenCode 是一款开源 AI 编码代理,支持终端 TUI、Web 界面和 IDE 扩展等多种使用方式。本文带你完成一次完整的 OpenCode Docker 部署:从环境准备到在浏览器里用自然语言生成第一个 hello-world 主页,全程约 10 分钟,零基础可跟做。
482 0
基于 Docker 的 OpenCode 部署指南:Linux 云服务器上搭建浏览器 AI 编程环境
|
前端开发 测试技术 容器
React 快速实现拖拽改变容器宽高度
React 快速实现拖拽改变容器宽高度
984 0
|
11天前
|
Ubuntu Linux 数据安全/隐私保护
Linux 服务器没桌面?Docker 跑个 Webtop,浏览器里就是图形桌面
Webtop是LinuxServer.io推出的浏览器远程桌面方案:Docker一键部署完整Linux桌面(XFCE/KDE等),宿主机无需安装任何图形环境,纯命令行服务器也能通过浏览器访问GUI。本文详解零基础部署、HTTPS登录、文件管理、终端与排坑指南(如3000端口冲突、AVX2兼容)。
482 2
|
并行计算 Ubuntu 机器人
计算机视觉教程7-3:Openpose配置与实践
计算机视觉教程7-3:Openpose配置与实践
3668 0
计算机视觉教程7-3:Openpose配置与实践
|
4天前
|
存储 人工智能 JSON
Qwen 本地部署搭配 ComfyUI 生成 AI 漫剧完整实操指南(小白零基础可落地,零成本无限生成+角色一致性天花板)
2026全网最优本地漫剧流水线:零成本、离线运行、角色统一、低配(8G显卡)可跑。融合Qwen本地大模型+ComfyUI双引擎,实现剧本生成→分镜绘图→动态成片全自动,隐私安全、无审核限流,新手30分钟上手,日更无忧。(239字)
|
16天前
|
Ubuntu 关系型数据库 Docker
Docker 跑 Memos 镜像:私有 Markdown 笔记部署实测记录
Memos 是一款开源、可自托管的轻量笔记工具:镜像仅约20MB,SQLite默认存储,一条 `docker run` 即可启动;浏览器写Markdown、打#标签、按时间线浏览,手机电脑同步,数据完全掌握在自己服务器上。
136 0
Docker 跑 Memos 镜像:私有 Markdown 笔记部署实测记录
|
20天前
|
文字识别 Java 数据安全/隐私保护
10 分钟上手 Stirling PDF:阿里云 ECS Docker 部署 PDF 工具箱
Stirling PDF 是一款开源、可本地部署的 Web PDF 工具箱,支持合并、拆分、压缩、加水印、文本编辑等60+功能。文件仅在内存中临时处理,自动清理,安全私有。本文详解10分钟 Docker 部署(Ubuntu 24.04 实测),含 ultra-lite 镜像快速启动、中文配置与实操验证。
416 0
|
1月前
|
Linux 数据库 数据安全/隐私保护
Odoo Docker 部署实战:中小企业 ERP 系统快速上线
不少中小企业都有这样的困扰:销售靠Excel记账、库存人工盘点、财务对账耗时费力、客户信息零散混乱,多个办公系统切换使用,数据不通、效率低下。今天给大家分享一套零成本、一体化的解决方案——Odoo开源ERP系统。全程采用Docker部署,无需复杂环境配置,10分钟即可搭建完成,适配国内服务器,稳定高速、无冗余操作。
151 0
Odoo Docker 部署实战:中小企业 ERP 系统快速上线
|
1月前
|
人工智能 数据中心 云计算
不想让人类重蹈恐龙的命运,马斯克要做万亿富翁
马斯克借SpaceX IPO发起“文明升级计划”:以28万亿美元太空经济为蓝图,打造轨道AI数据中心、月球工厂与火星殖民愿景。虽年亏26亿美元,但星链盈利+超快基建能力支撑野心。这不仅是上市,更是售卖人类迈向星际文明的船票。(239字)
183 1