docker之部署一个不中毒的浏览器

简介: docker之部署一个不中毒的浏览器

通过docker部署一个不中毒的浏览器

  • 下载镜像
docker pull swr.cn-north-1.myhuaweicloud.com/iivey/firefox:v1.1

运行容器

docker run -d --name=firefox -p 5800:5800 -p 5900:5900 --shm-size 2g -e DISPLAY_WIDTH=1366 -e DISPLAY_HEIGHT=768 swr.cn-north-1.myhuaweicloud.com/iivey/firefox:v1.1
--name=firefox:容器名
-p 5800:5800:指定http端口,第一个5800是宿主机端口。第二个是容器内端口
-p 5900:5900:vnc连接端口
--shm-size:指定这个容器的内存资源
-e DISPLAY_WIDTH=1366 -e DISPLAY_HEIGHT=768:指定浏览器的分辨率

访问测试

可以看到我们在Windows自带浏览器edge中开启了一个firefox浏览器

还可以通过VNC软件连接浏览器

  • 使用快捷键Ctrl+n创建一个新窗口
  • 点击确定后双击这个窗口会打开浏览器


假如浏览器植入病毒或被破坏

  • 破坏浏览器内部文件,进入容器
[root@centos7 ~]# docker ps
CONTAINER ID   IMAGE                                                 COMMAND   CREATED          STATUS          PORTS                                                                                  NAMES
5a8819f5e3c3   swr.cn-north-1.myhuaweicloud.com/iivey/firefox:v1.1   "/init"   22 minutes ago   Up 22 minutes   0.0.0.0:5800->5800/tcp, :::5800->5800/tcp, 0.0.0.0:5900->5900/tcp, :::5900->5900/tcp   firefox
[root@centos7 ~]# docker exec -it 5a8819f5e3c3 sh 
/tmp # 
  • 破坏firefox浏览器文件,通过ps -ef找到程序文件位置,进入目录
/tmp # cd /usr/lib/firefox/
/usr/lib/firefox # ls
application.ini     firefox             gtk2                libmozgtk.so        libxul.so           plugin-container
browser             firefox-bin         liblgpllibs.so      libmozsandbox.so    omni.ja             removed-files
defaults            fonts               libmozavcodec.so    libmozsqlite3.so    pingsender
dependentlibs.list  gmp-clearkey        libmozavutil.so     libmozwayland.so    platform.ini
  • 删除所以程序
/usr/lib/firefox # rm -rf ./*
/usr/lib/firefox # ls
/usr/lib/firefox #
  • 再次访问显示报错
    a7d429c6fdaf4db28e697e58dce010b5.png
    怎样恢复呢?
  • 删除原有运行容器
[root@centos7 ~]# docker rm -f 5a8819f5e3c3
5a8819f5e3c3
[root@centos7 ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@centos7 ~]# 
  • 重启启动容器
[root@centos7 ~]# docker run -d --name=firefox -p 5800:5800 -p 5900:5900 --shm-size 2g -e DISPLAY_WIDTH=1366 -e DISPLAY_HEIGHT=768 swr.cn-north-1.myhuaweicloud.com/iivey/firefox:v1.1
c2a2870e7bf2a554a7d020764d905941447013f563df46f4c68fd329969cc533
  • 再次访问发现正常

如果是中病毒的原理一样,删除重新启动一个就好了。

如果想保留浏览器内容,做一个数据卷映射就好了。

目录
相关文章
|
3天前
|
测试技术 Linux 网络安全
【Docker项目实战】使用Docker部署RSS阅读器yarr
【6月更文挑战第22天】使用Docker部署RSS阅读器yarr
12 3
|
3天前
|
Docker 容器
如何使用Docker部署WPS Office服务并实现无公网IP远程处理文档表格(二)
使用Docker部署的WPS Office服务可以通过内网穿透工具Cpolar实现远程访问。首先,创建一个名为“wps office”的隧道,选择HTTP协议和3000端口,分配免费的随机域名,并指定中国地区。然后,通过Cpolar的管理界面获取HTTP公网地址,用以远程访问WPS Office。由于随机域名会变化,可以升级Cpolar套餐并保留一个二级子域名,确保长期稳定的远程访问。配置子域名后,更新隧道设置,完成固定公网地址的绑定,从而实现随时随地通过固定地址访问WPS Office。
|
3天前
|
数据采集 JavaScript Go
蓝易云 - crawlab通过docker单节点部署简单爬虫
以上就是通过Docker单节点部署Crawlab并运行简单爬虫的步骤。在实际操作中,你需要根据自己的需求对爬虫代码进行编写。
7 2
|
4天前
|
搜索推荐 测试技术 Linux
【Docker项目实战】使用Docker部署EnBizCard数字名片工具
【6月更文挑战第21天】使用Docker部署EnBizCard数字名片工具
16 3
|
4天前
|
域名解析 网络协议 Ubuntu
docker快速部署DNS,实现快速上线
docker快速部署DNS,实现快速上线
|
5天前
|
Java Docker 容器
使用 Spring Boot 构建 Docker 镜像并进行多模式部署
使用 Spring Boot 构建 Docker 镜像并进行多模式部署
22 2
|
6天前
|
测试技术 Linux 数据库
【Docker项目实战】使用Docker部署Xnote轻量级笔记系统
【6月更文挑战第19天】使用Docker部署Xnote轻量级笔记系统
19 3
|
23小时前
|
应用服务中间件 Linux 数据安全/隐私保护
Linux+docker部署项目
Linux+docker部署项目
8 0
|
3天前
|
安全 Linux 网络安全
如何使用Docker部署WPS Office服务并实现无公网IP远程处理文档表格(一)
在群晖NAS上使用Docker部署WPS Office并结合Cpolar内网穿透的步骤包括: 1. 通过SSH命令行拉取`linuxserver/wps-office`镜像。 2. 在群晖容器管理界面运行镜像,设置启动选项和端口映射。 3. 本地访问群晖IP:3000端口以使用WPS Office。 4. 安装Cpolar套件,手动添加并安装到群晖,通过9200端口访问其Web管理界面。 5. 使用Cpolar配置内网穿透,实现远程访问WPS Office。 这一过程允许用户即使在没有公网IP的情况下,也能通过Cpolar将内网的WPS Office服务暴露到公网,便于远程办公和文档处理。
|
5天前
|
测试技术 Linux 网络安全
【Docker项目实战】使用Docker部署RSS阅读器yarr
【6月更文挑战第20天】使用Docker部署RSS阅读器yarr
12 1