使用容器技术创建一个firefox的镜像,并通过VNC的形式访问到firefox,当不使用此浏览器时,可以很快的关闭或删除掉firefox容器,由于容器的特性,与宿主机处于相对隔离的状态,从而实现“永不中毒”。
1.安装Docker
由于使用到Docker容器技术,这里需要先部署,我这里使用CentOS7.9,执行以下命令安装:
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
# 安装docker
yum -y install docker-ce
启动并设置开机启动Docker容器:
systemctl enable --now docker
备注:也可以使用下面的一键自动化脚本来安装Docker,支持CentOS和Ubuntu。
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
2.安装firefox
使用以下命令:
docker run \
-d \
--name=firefox \
-p 5800:5800 \
-p 5900:5900 \
--shm-size 4g \
-e DISPLAY_WIDTH=1366 \
-e DISPLAY_HEIGHT=768 \
swr.cn-north-1.myhuaweicloud.com/iivey/firefox:v1.1
- --shm-size:指定给这个容器使用的内存资源大小
-
-e DISPLAY_WIDTH、DISPLAY_HEIGHT:这个是指定浏览器的分辨率,可以根据你的电脑显示率来设置
执行后等待系统拉取镜像文件到本地。
拉取完之后,看一下运行中的容器,如果你和我一样,那么已经成功运行。
docker ps
3.访问
使用vnc来访问你的服务器ip+端口5900,比如我的服务器ip为192.168.31.220,那么vnc地址栏中应该填入:192.168.31.220:5900
在弹入的框中点击Continue,默认没有密码,然后就能访问到firefox浏览器的主界面了。
甚至可以在里面访问我的博客网站。
4.模拟中毒
假设病毒把我们的浏览器弄坏了:
docker exec -it forefox sh
rm -rf /usr/lib/firefox/*
exit
我们可以删除到被破坏的容器,立马重新启动一个,再次访问,又恢复如初:
停止并删除firefox容器:
docker stop firefox && docker rm firefox
重新启动:
docker run \
-d \
--name=firefox \
-p 5800:5800 \
-p 5900:5900 \
--shm-size 4g \
-e DISPLAY_WIDTH=1366 \
-e DISPLAY_HEIGHT=768 \
swr.cn-north-1.myhuaweicloud.com/iivey/firefox:v1.1
又能正常访问了。