通过docker部署一个不中毒的浏览器
- 下载镜像
docker pull swr-north-1.myhuaweicloud/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-north-1.myhuaweicloud/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-north-1.myhuaweicloud/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-north-1.myhuaweicloud/iivey/firefox:v1.1
c2a2870e7bf2a554a7d020764d905941447013f563df46f4c68fd329969cc533
- 再次访问发现正常
如果是中病毒的原理一样,删除重新启动一个就好了。
如果想保留浏览器内容,做一个数据卷映射就好了。
更多推荐
docker之部署一个不中毒的浏览器
发布评论