Py学习  »  docker

Docker自建浏览器:让你《随时-随地》访问你内网的光猫路由Nas等Web设备

院长技术 • 2 年前 • 418 次点击  


院长简介

作者:院长

职位:运维开发工程师

官网:https://deanit.cn

博客:https://blog.deanit.cn

擅长:

【虚拟化,容器化,自动化运维,CICD,监控,日志,中间件,双机热备,分布式存储,数据库,认证,组网隧道,Kali 安全渗透,网络攻击,负载均衡,Html,Css,Js,Jq,Vue3,Shell,Python,Go,前后端框架】

Firefox简介

Firefox是一款免费开源的网页浏览器,由Mozilla基金会开发和维护。它是第一个成功挑战微软Internet Explorer浏览器垄断地位的浏览器之一。Firefox浏览器因其稳定性、安全性、速度快、扩展性强、用户体验优秀,而备受欢迎。

Firefox特点

开源免费:Firefox浏览器完全免费,是开源软件,任何人都可以根据自己的需求自由地使用、修改和分发它。

稳定性:Firefox浏览器在多个操作系统上都具有良好的稳定性,能够避免崩溃和卡顿等情况。

安全性:Firefox浏览器非常注重用户的隐私和安全,具有强大的安全功能来防御恶意软件、广告、追踪器等。

速度快:Firefox浏览器使用了高效的JavaScript引擎,能够更快地加载网页和Web应用。

扩展性强:Firefox浏览器具有超过10,000个扩展插件和主题,可以根据自己的需求来增强浏览器功能。

用户体验优秀:Firefox浏览器提供简洁、直观的界面,易于使用和定制,能够为用户提供更好的网页浏览体验。

我的需求

我需要随时随地可以访问家里的设备的Web页面。

比如我的内网云盘,内网NAS,内网路由器,内网光猫

注:浏览器窗口支持多窗口同步,因为采用VNC协议,所以每个窗口操作会同步

部署服务

安装Docker

curl -fsSL "https://get.docker.com/" | sh
systemctl enable docker --now

下载镜像

[root@Dean ~]# docker pull jlesage/firefox
Using default tag: latest
latest: Pulling from jlesage/firefox
4c896b9067db: Pull complete 
fdbcd5369b0f: Pull complete 
8a2644731280: Pull complete 
00a6485b743c: Pull complete 
9b02b6d4d54d: Pull complete 
b706f73e2c83: Pull complete 
2c8ad1b72e18: Pull complete 
daa95715ec57: Pull complete 
......
175da53193a0: Pull complete 
aeda5e9f95d4: Pull complete 
46f46be4daf2: Pull complete 
d005be86cf6f: Pull complete 
6fef095468f1: Pull complete 
25b99f9df297: Pull complete 
Digest: sha256:29575d8984f80e27a92bbd15ff52af490e22a9718bbd74b59860de01ab4be418
Status: Downloaded newer image for jlesage/firefox:latest
docker.io/jlesage/firefox:latest

创建持久化目录

mkdir -p /data/firefox/config && cd /data/firefox/

创建服务

docker run -d --name firefox -e TZ=Asia/Hong_Kong  -e DISPLAY_WIDTH=1920 -e DISPLAY_HEIGHT=1080 -e KEEP_APP_RUNNING=1 -e ENABLE_CJK_FONT=1  -e VNC_PASSWORD=Dean  -p 5800:5800 -p 5900:5900 -v /data/firefox/config:/config:rw --shm-size 2g jlesage/firefox

参数解析

-e TZ=Asia/Hong_Kong                          #设置时区
-e DISPLAY_WIDTH=1920                       #设置显示的宽度
-e DISPLAY_HEIGHT=1080                     #设置显示的高度
-e KEEP_APP_RUNNING=1                    #保持启动状态
-e ENABLE_CJK_FONT=1                     #防止显示页面时中文乱码
-e SECURE_CONNECTION=1               #启用HTTPS功能
-e VNC_PASSWORD=Dean                 #设置VNC的访问密码,自定义即可
-p 5800:5800                                   #访问firefox的web端口
-p 5900:5900                                  #VNC端口
-v /data/irefox/config:/config:rw      #容器挂载目录,存放firefox数据
--shm-size 2g                              #设置容器的内存资源为2g

查看容器

[root@Dean ~]# docker ps -a
CONTAINER ID   IMAGE                        COMMAND                   CREATED          STATUS          PORTS                                                                                  NAMES
9e7f0cc3f582   jlesage/firefox              "/init"                   2 hours ago      Up 2 hours      0.0.0.0:5800->5800/tcp, :::5800->5800/tcp, 0.0.0.0:5900->5900/tcp, :::5900->5900/tcp   firefox

测试效果

访问:http://ip:5800

密码:Dean

VNC_PASSWORD指定的密码

测试效果

通过内网穿透,将该服务穿透出去,推荐frp,nps。

注意:浏览器调用需要ws

使用nps穿透:不支持域名穿透,支持tcp协议。

使用frp穿透:支持域名穿透,支持tcp协议。

招贤纳士

欢迎👏关注《院长技术》,只做原创,干货~~~

      

更多技术干货持续输出中......

欢迎👏加院长助理,邀请微信群:《烦请关注公众号》

欢迎加入QQ-2群:【

1群已满

推荐阅读

K8s命令行交互运维神器


院长带你玩转K8s证书续签


Nginx配置SSL证书及跳转特别配置


Docker自建轻量监控系统


欢迎关注我的公众号“院长技术”,原创技术文章第一时间推送。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/167094