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
  • 再次访问发现正常

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

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

目录
相关文章
|
9天前
|
消息中间件 编解码 Docker
Docker部署RabbitMQ消息中间件
【7月更文挑战第4天】Docker部署RabbitMQ消息中间件
43 3
|
7天前
|
存储 Java Docker
使用Docker部署Java应用的最佳实践
使用Docker部署Java应用的最佳实践
|
8天前
|
存储 Java Docker
使用Docker部署Java应用的最佳实践
使用Docker部署Java应用的最佳实践
|
7天前
|
存储 移动开发 程序员
Docker部署Dillinger个人文本编辑器
【7月更文挑战第6天】Docker部署Dillinger个人文本编辑器
21 1
|
12天前
|
消息中间件 数据可视化 RocketMQ
【RocketMQ系列二】通过docker部署单机RocketMQ
【RocketMQ系列二】通过docker部署单机RocketMQ
42 4
|
9天前
|
存储 开发者 Docker
|
14天前
|
Nacos 数据中心 Docker
Docker 部署 Nacos 集群
Docker 部署 Nacos 集群
|
5天前
|
Java 应用服务中间件 持续交付
Java面试题:简述Docker等容器化技术的原理及其在Java应用部署中的作用。
Java面试题:简述Docker等容器化技术的原理及其在Java应用部署中的作用。
12 0
|
6天前
|
JSON 测试技术 数据安全/隐私保护
【Docker项目实战篇】Docker部署PDF多功能工具Stirling-PDF
【7月更文挑战第7天】Docker部署PDF多功能工具Stirling-PDF
28 0
|
7天前
|
Ubuntu Linux 数据安全/隐私保护
Linux系统使用Docker部署Cloudreve云盘并实现远程访问
Linux系统使用Docker部署Cloudreve云盘并实现远程访问
15 0