惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
小众软件
小众软件
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
Jina AI
Jina AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog
V
Visual Studio Blog
C
Check Point Blog
阮一峰的网络日志
阮一峰的网络日志
U
Unit 42
量子位
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
M
MIT News - Artificial intelligence
爱范儿
爱范儿
B
Blog RSS Feed
MyScale Blog
MyScale Blog
H
Help Net Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
美团技术团队
L
LangChain Blog
D
Docker

Oskyla 烹茶室

修复 Joplin on KDE 菜单栏显示问题 Copy Fail:Linux 内核 2017 年至今的高危漏洞(附临时缓解方案) | CVE-2026-31431 Hermes Agent — 在 K3s / K8s 中运行指南 在 K3s 节点上安装并使用 nerdctl Mouser:轻量开源的罗技鼠标驱动替代方案 Claude Opus 4.7:优缺点与评测信息汇总 openFuyao NPU-Operator故障排查 openFuyao 2603 共测测试报告 openFuyao InferNex AI推理集成部署 310P(300I Pro) 环境问题记录及解决 ceph mon Operation not permitted 问题解决 Ascend 310P + openFuyao + NPU-Operator 故障排查 KDE Plasma6 禁用全局菜单,恢复正常应用菜单 终极指南:在 Linux 裸机服务器上快速部署 Moltbot (原 Clawbot) 并集成飞书 Windows 配置 Claude Code 解决 settings.json 不生效 Windows 配置 Claude Code 全流程 2025-12-31 | 年终总结 AI 生图精品提示词|第二期:城市星球 AI 生图精品提示词|第一期 Kubernetes kubectl --raw 使用指南 彻底解决阿里云和 tailscale 冲突 2025-10-21 | 沉淀思维 macOS 单独为鼠标或触控板开启自然滚动 2025-10-16 | 负载高低 2025-10-15 | 睡眠周期 2025-10-14 | 转换情绪与独立观点 go 拉取 gitcode.com 私有 mod Git 将某个文件恢复到其他分支的状态 SSH 通过跳板机连接 lxc 使用 chronyc 构建 ntp 服务 2025-10-13 | 独立思考于未来能源
把 FireFox 装进 Docker | VPS/群晖 搭建『云端/内网 浏览器』
Tianlun Song · 2021-11-12 · via Oskyla 烹茶室

本文 首发于 🌱 煎茶转载 请注明 来源

云端服务器安装远程浏览器。

为了操作家里的群晖服务器,之前一直是通过 VPN 或是Todesk、向

日葵连入家里旧电脑的 Win 桌面进行操作的,需要使用浏览器下载一些内容时也必须通过 Win 桌面挂机实现。就在最近这台挂机用的电脑出问题了,于是我在想能不能使用 Docker 启一个浏览器直接连入局域网呢?

说干就干,网上搜索一番后,很快找到一位大神做好的 Docker 镜像,这款镜像原本是 『用在群晖、威联通等环境下的火狐浏览器』,这款镜像也可以直接装在 VPS 里,做一个云端浏览器。

https://cdn-imagehost.frytea.com/images/2021/11/12/imageb0e9f7913423b324.png

搭建流程也很简单,两行命令就能跑起来,但其中的细节如果不太懂可能还需要查一查,可以先按照我的流程来操作,应该很快就能看到效果,后期有需要再根据需求修改。

搭建流程

首先需要准备一台 VPS,如果是群晖安装,请移步镜像作者的教程。SSH 连入虚拟机,开始操作。

Step1: 安装 Docker

如果 VPS 已经装过 Docker,可以跳过这一步。

这里直接使用 Docker 官方提供的一键安装脚本进行安装:

$ curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

根据自己服务器的所在位置确定是否加 --mirror Aliyun,若在国内需要加,境外则不需要。

https://cdn-imagehost.frytea.com/images/2021/11/12/2021-11-12-11.17.240c5b6652dd1d9286.png

装好后使用下面命令看一下运行状态:

$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

Step2: 启动容器

docker 跑起来后,就开始跑我们的 firefox 容器,直接运行下面命令即可快速开始:

$ docker run -d --name firefox -p 8083:8083 -p 5900:5900 oldiy/firefox-novnc:latest

如果服务器配有安全组策略或防火墙,请手动放通上面两个端口,若端口冲突,请自行更换 : 前面的端口为可用端口

等待命令执行完成,放通端口,即可进行下一步。

Step3: 远程连接

电脑浏览器访问 http://<Your IP>:8083/vnc.html 即可。

如果一切正常,将会看到下面页面:

https://cdn-imagehost.frytea.com/images/2021/11/12/2021-11-12-11.20.55a1c02ab563890073.png

点击链接即可,如果失败可以稍等一会儿刷新试试。

注:实测在 MacOS 12SafariFirefox 浏览器均无法使用,仅有 Chrome 可使用,原因未知,请使用 Chrome 继续。

https://cdn-imagehost.frytea.com/images/2021/11/12/2021-11-12-11.23.207febeeae22a60d28.png

上面就是打开的效果了,如果 VPS 在墙外则可以直接访问 Google ,如果装在在局域网内则可以直接访问内网服务。若想从外部直接访问局域网内的服务,可以了解一下 内网穿透 技术。

拓展流程

上面的流程就可以迅速看到效果,还可以使用 Docker 的特性满足一些高级需求,下面给出两个拓展需求的实现案例。

案例一:增加访问密码

# 进入容器
$ docker exec -it firefox bash
# 交互式设定密码,写入文件请选 y
$ x11vnc -storepasswd
# 修改启动脚本,若不会使用 vi 请使用 apt 自行安装常用编辑器
$ vi /etc/supervisor/conf.d/supervisord.conf
# 找到下面 - 指定的行,修改为 + 指定的行
...
[program:x11vnc]
- command=/usr/bin/x11vnc
+ command=/usr/bin/x11vnc -rfbauth /root/.vnc/passwd
autorestart=true
...
# 修改完毕后退出容器,重启容器
$ exit
$ docker restart firefox

之后刷新浏览器,就可以看到需要密码才可使用了,安全性进一步增强。

https://cdn-imagehost.frytea.com/images/2021/11/12/2021-11-12-11.31.091819675061ec73ad.png

案例二:挂载目录

如需挂载目录可在启动时加入 -v <local path>:<docker path> 参数挂载,比如这条命令,将 firefox 默认下载目录挂在到主目录下的 Downloads ,这样浏览器下载的内容在宿主机就能直接看到了。

$ docker run -d --name firefox -p 8083:8083 -p 5900:5900 -v ~/Downloads:/root/Downloads oldiy/firefox-novnc:latest

注:若已经运行过该容器,请修改名称、端口,或 docker stop firefoxdocker rm firefox 删除容器之后重新运行。

https://cdn-imagehost.frytea.com/images/2021/11/12/image62d4cc873196a017.png

由于启动参数带有 -d ,docekr 会一直在后台运行,可以帮我们完成一些必须浏览器才能完成的挂机下载任务了。

总结

其实镜像作者还提供了多种镜像,使用下来发现 火狐 比较稳定,因此就以这款为例整理本文。

早在很久之前我就在思考能否直接在 Linux 机器上装一个浏览器,之后远程访问。但受限于当时的技术知识有限,暂时没有找到合适的方法,远程桌面只能采用 Windows 的方法,看着 win 系统空耗资源没办法。

现在终于找了一种比较好的轻量级远程浏览器的解决方案了,在这里分享给大家,具体能做些什么还需发挥些想象力,结合自己的需求来。

参考文献