通过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之部署一个不中毒的浏览器相关推荐

  1. docker 中部署一个springBoot项目

    docker 中部署一个springBoot项目 (1)介绍 springBoot项目 1.项目结构 2.pom.xml [java] view plaincopy <?xml version= ...

  2. 如何使用 Docker 部署一个基于 Play Framework 的 Scala Web 应用?

    2019独角兽企业重金招聘Python工程师标准>>> 本文作者 Jacek Laskowski 拥有近20年的应用程序开发经验,现 CodiLime 的软件开发团队 Leader, ...

  3. 3.10 docker---概念介绍,安装和初识docker,docker的一些基本命令,使用docker部署一个nginx,

    一.docker介绍 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后 ...

  4. Docker Registry部署镜像私有仓库及鉴权认证

    文章目录 一.Docker Registry是什么? 二.Docker Registry部署私有仓库 2.1.Docker Registry安装 2.2.Docker Registry配置 2.3.启 ...

  5. docker 如何加入kubernetes_使用 Kind 在 5 分钟内快速部署一个 Kubernetes 高可用集群...

    什么是 Kind Kind(Kubernetes in Docker) 是一个Kubernetes孵化项目,Kind是一套开箱即用的Kubernetes环境搭建方案.顾名思义,就是将Kubernete ...

  6. 从零开始学习docker(六)部署一个稍微复杂一点的应用

    我们之前讲过部署一个简单的Python程序. 这一节我们将这个Python程序进行一个扩展,连接redis数据库,并对redis进行一些操作, 新建App.py,内容如下: from flask im ...

  7. 基于docker+gunicorn部署sanic项目

    基于docker+gunicorn部署sanic项目 源代码: https://github.com/ltoddy/Python-useful/tree/master/sanic-app 最近云服务提 ...

  8. 使用docker安装部署Spark集群来训练CNN(含Python实例)

    使用docker安装部署Spark集群来训练CNN(含Python实例) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需 ...

  9. Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程)

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  10. 私活利器,docker快速部署node.js应用

    http://cnodejs.org/topic/53f494d9bbdaa79d519c9a4a 最近研究了几天docker的快速部署,感觉很有新意,非常轻量级和方便,打算在公司推广一下,解放运维, ...

最新文章

  1. react中使用构建缓存_通过构建海滩度假胜地网站,了解如何使用React,Contentful和Netlify...
  2. poj 1474 Video Surveillance - 求多边形有没有核
  3. 收藏 | 这100+个免费API,免了自己去爬的烦恼!
  4. VB.NET(2005)中关于dll调用的错误信息(转)
  5. MySql cmd下的学习笔记 —— 有关建立数据库的操作(连接Mysql,建立数据库,删除数据库等等)...
  6. 使用Arquillian(远程)测试OpenLiberty
  7. XML配置文件中的Spring配置文件
  8. 英语口语 week11 Tuesday
  9. 没有mmu可以跑Linux吗?
  10. android meta工具,android ota 升级包制作分析 (5 工具)
  11. onCreate onStart onResume onStop onPause onDestroy onRestart onWindowFocusChanged
  12. 排序之快速排序(递归)
  13. 网络安全—社会工程学
  14. win7打印机找不到USB001接口的解决方法
  15. opencv读取大恒相机
  16. jquery仿直播app按钮点赞特效
  17. Google 开源最新机器学习系统 TensorFlow
  18. 2021年氯化工艺复审考试及氯化工艺作业模拟考试
  19. 对当前网上公开的聊天对话机器人语料整理
  20. 通俗易懂happens-before理解

热门文章

  1. 磁共振影像分析之: 基于FSL的VBM分析(1)
  2. 目标追踪小任务(基于SIFT,LK光流,ceres)
  3. Origin许可进行延期使用
  4. 常用的几种视频格式(最详细的解释)
  5. Springboot封装的好的发送post请求的工具类
  6. oracle如何给临时表增加字段,Oracle 临时表用法
  7. 凯恩帝数控系统面板介绍_凯恩帝数控车床操作面板按钮详解
  8. 3ds max软件如何彻底卸载干净
  9. 20220117 matlab 全局变量调试
  10. max30102c语言程序,STM32驱动MAX30102源码