通过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 #
- 再次访问显示报错
怎样恢复呢? - 删除原有运行容器
[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
- 再次访问发现正常
如果是中病毒的原理一样,删除重新启动一个就好了。
如果想保留浏览器内容,做一个数据卷映射就好了。