docker之部署一个不中毒的浏览器

简介: 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 #
  • 再次访问显示报错
    a7d429c6fdaf4db28e697e58dce010b5.png
    怎样恢复呢?
  • 删除原有运行容器
[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
  • 再次访问发现正常

如果是中病毒的原理一样,删除重新启动一个就好了。

如果想保留浏览器内容,做一个数据卷映射就好了。

目录
相关文章
|
12天前
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
74 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
|
23天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
72 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
13天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
13天前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
28 1
|
25天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
56 2
|
26天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
32 3
|
29天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
252 3
|
30天前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
103 1
|
13天前
|
前端开发 开发者 Docker
深入探索Docker Compose:简化多容器应用的部署
深入探索Docker Compose:简化多容器应用的部署
41 0
|
1月前
|
运维 Kubernetes 监控
掌握Docker容器化技术:构建、部署与管理的高效实践
【10月更文挑战第14天】掌握Docker容器化技术:构建、部署与管理的高效实践
45 0