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 #
再次访问显示报错
怎样恢复呢?删除原有运行容器
[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
- 再次访问发现正常
如果是中病毒的原理一样,删除重新启动一个就好了。
如果想保留浏览器内容,做一个数据卷映射就好了。
docker之部署一个不中毒的浏览器相关推荐
- docker 中部署一个springBoot项目
docker 中部署一个springBoot项目 (1)介绍 springBoot项目 1.项目结构 2.pom.xml [java] view plaincopy <?xml version= ...
- 如何使用 Docker 部署一个基于 Play Framework 的 Scala Web 应用?
2019独角兽企业重金招聘Python工程师标准>>> 本文作者 Jacek Laskowski 拥有近20年的应用程序开发经验,现 CodiLime 的软件开发团队 Leader, ...
- 3.10 docker---概念介绍,安装和初识docker,docker的一些基本命令,使用docker部署一个nginx,
一.docker介绍 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后 ...
- Docker Registry部署镜像私有仓库及鉴权认证
文章目录 一.Docker Registry是什么? 二.Docker Registry部署私有仓库 2.1.Docker Registry安装 2.2.Docker Registry配置 2.3.启 ...
- docker 如何加入kubernetes_使用 Kind 在 5 分钟内快速部署一个 Kubernetes 高可用集群...
什么是 Kind Kind(Kubernetes in Docker) 是一个Kubernetes孵化项目,Kind是一套开箱即用的Kubernetes环境搭建方案.顾名思义,就是将Kubernete ...
- 从零开始学习docker(六)部署一个稍微复杂一点的应用
我们之前讲过部署一个简单的Python程序. 这一节我们将这个Python程序进行一个扩展,连接redis数据库,并对redis进行一些操作, 新建App.py,内容如下: from flask im ...
- 基于docker+gunicorn部署sanic项目
基于docker+gunicorn部署sanic项目 源代码: https://github.com/ltoddy/Python-useful/tree/master/sanic-app 最近云服务提 ...
- 使用docker安装部署Spark集群来训练CNN(含Python实例)
使用docker安装部署Spark集群来训练CNN(含Python实例) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需 ...
- Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程)
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- 私活利器,docker快速部署node.js应用
http://cnodejs.org/topic/53f494d9bbdaa79d519c9a4a 最近研究了几天docker的快速部署,感觉很有新意,非常轻量级和方便,打算在公司推广一下,解放运维, ...
最新文章
- react中使用构建缓存_通过构建海滩度假胜地网站,了解如何使用React,Contentful和Netlify...
- poj 1474 Video Surveillance - 求多边形有没有核
- 收藏 | 这100+个免费API,免了自己去爬的烦恼!
- VB.NET(2005)中关于dll调用的错误信息(转)
- MySql cmd下的学习笔记 —— 有关建立数据库的操作(连接Mysql,建立数据库,删除数据库等等)...
- 使用Arquillian(远程)测试OpenLiberty
- XML配置文件中的Spring配置文件
- 英语口语 week11 Tuesday
- 没有mmu可以跑Linux吗?
- android meta工具,android ota 升级包制作分析 (5 工具)
- onCreate onStart onResume onStop onPause onDestroy onRestart onWindowFocusChanged
- 排序之快速排序(递归)
- 网络安全—社会工程学
- win7打印机找不到USB001接口的解决方法
- opencv读取大恒相机
- jquery仿直播app按钮点赞特效
- Google 开源最新机器学习系统 TensorFlow
- 2021年氯化工艺复审考试及氯化工艺作业模拟考试
- 对当前网上公开的聊天对话机器人语料整理
- 通俗易懂happens-before理解