云原生之使用Docker部署Firefox浏览器

简介: 【7月更文挑战第21天】云原生之使用Docker部署Firefox浏览器

一、Firefox浏览器介绍

1.1 Firefox简介

Firefox是一款免费开源的网页浏览器,由Mozilla基金会开发和维护。它是第一个成功挑战微软Internet Explorer浏览器垄断地位的浏览器之一。Firefox浏览器因其稳定性、安全性、速度快、扩展性强、用户体验优秀,而备受欢迎。

1.2 Firefox特点

  • 开源免费:Firefox浏览器完全免费,是开源软件,任何人都可以根据自己的需求自由地使用、修改和分发它。

  • 稳定性:Firefox浏览器在多个操作系统上都具有良好的稳定性,能够避免崩溃和卡顿等情况。

  • 安全性:Firefox浏览器非常注重用户的隐私和安全,具有强大的安全功能来防御恶意软件、广告、追踪器等。

  • 速度快:Firefox浏览器使用了高效的JavaScript引擎,能够更快地加载网页和Web应用。

  • 扩展性强:Firefox浏览器具有超过10,000个扩展插件和主题,可以根据自己的需求来增强浏览器功能。

  • 用户体验优秀:Firefox浏览器提供简洁、直观的界面,易于使用和定制,能够为用户提供更好的网页浏览体验。

1.3 使用场景

在Docker环境下部署Firefox浏览器,能够适应多种使用场景。

  1. 自动化Web测试:开发团队可以利用Docker中的Firefox容器配合Selenium进行跨平台的自动化测试,确保Web应用在不同操作系统上的兼容性和功能完整性。 测试工程师能够在持续集成/持续部署(CI/CD)流程中,自动执行回归测试,减少人工干预,提高测试效率和准确性。

  2. 无头浏览和数据抓取:数据分析师可以运行Firefox的无头模式,抓取动态生成的网页内容,用于市场分析或竞争对手的价格监测。这种方式能更准确地获取实时网页信息,因为无头浏览器能够加载和渲染JavaScript生成的内容,而不仅仅是静态HTML。

  3. 隔离的开发环境:Web开发者可以使用Docker部署的Firefox,创建一个与主机系统完全隔离的开发环境,确保开发过程不会受到其他软件冲突的影响。这样的设置有助于快速复现和调试生产环境的问题,同时也方便团队成员之间共享和协作,无需担心环境差异带来的问题。

  4. 远程教育和培训:教育机构可以利用Docker化的Firefox提供统一的在线学习环境,让学生在任何设备上都能访问特定的教学资源和实验平台。学生无需在自己的设备上安装特定软件,即可参与互动式学习,降低了硬件要求,提升了教学活动的可访问性。

  5. 企业级安全测试:安全团队可以使用Docker部署的Firefox作为沙盒环境,安全地测试潜在的恶意链接或附件,而不必担心感染企业网络。这种隔离的测试环境有助于识别和预防网络威胁,同时保护企业资产不受损害,提升整体网络安全水平。

  6. 个性化Web浏览体验:用户可以利用Docker容器定制个人版的Firefox,预装特定的插件和扩展,以满足个人偏好或工作需求,同时保持系统干净整洁。例如,对于经常需要进行隐私浏览的用户,可以在Docker容器中预设隐私保护插件,实现更安全的上网体验,而不会影响主机上的常规浏览活动。

    二、本次实践介绍

    2.1 本地环境规划

    本次实践为个人测试环境,操作系统版本为centos7.6。

hostname IP地址 操作系统版本 Docker版本
jeven 192.168.3.166 centos 7.6 20.10.17

2.2 本次实践简介

1.本次实践部署环境为个人测试环境,生产环境请谨慎使用;
2.在Docker环境下部署Firefox浏览器。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2023-06-26 20:09:42 CST; 1 day 15h ago
     Docs: https://docs.docker.com
 Main PID: 11731 (dockerd)
    Tasks: 13
   Memory: 1.0G

3.2 检查Docker版本

检查Docker版本

[root@jeven ~]# docker -v 
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

四、下载Firefox镜像

在docker hub下载jlesage/firefox镜像,版本为latest。

[root@jeven ~]# docker pull jlesage/firefox
Using default tag: latest
latest: Pulling from jlesage/firefox
8a49fdb3b6a5: Pull complete 
4f4fb700ef54: Pull complete 
b310c2156b89: Pull complete 
6df5b2793d2a: Pull complete 
871e83cd2756: Pull complete 
79a13356eba7: Pull complete 
64b8221e2a51: Pull complete 
68504cab1339: Pull complete 
77af2038d7db: Pull complete 
1226f5d5d831: Pull complete 
a5a963357d0a: Pull complete 
89cbe97f1d54: Pull complete 
0b82c1557d67: Pull complete 
796e2f5f952f: Pull complete 
9c432d2ba239: Pull complete 
769aeef6d9e2: Pull complete 
225c9cddc4c3: Pull complete 
b3f70cfd7e68: Pull complete 
9ad8d545d071: Pull complete 
25b09679918d: Pull complete 
cb775380ea6e: Pull complete 
53cc8df458ef: Pull complete 
3d4c4b6d3804: Pull complete 
11005b087cf6: Pull complete 
76140d068825: Pull complete 
0553c06f90a1: Pull complete 
b44d853fef05: Pull complete 
7109667711ef: Pull complete 
271262c352bc: Pull complete 
3847836f3401: Pull complete 
691c0d09ee46: Pull complete 
4318432e46f4: Pull complete 
Digest: sha256:29575d8984f80e27a92bbd15ff52af490e22a9718bbd74b59860de01ab4be418
Status: Downloaded newer image for jlesage/firefox:latest
docker.io/jlesage/firefox:latest

五、部署Firefox

5.1 创建挂载目录

创建挂载目录/data/firefox/config

[root@jeven ~]# mkdir -p /data/firefox/config
[root@jeven ~]# cd /data/firefox/

5.2 创建Firefox容器

使用docker-cli快速创建Firefox容器

docker run -d --name firefox -e TZ=Asia/Hong_Kong  -e DISPLAY_WIDTH=1920 -e DISPLAY_HEIGHT=1080 -e KEEP_APP_RUNNING=1 -e ENABLE_CJK_FONT=1  -e VNC_PASSWORD=admin  -p 5800:5800 -p 5900:5900 -v /data/firefox/config:/config:rw --shm-size 2g jlesage/firefox

在这里插入图片描述

-e TZ=Asia/Hong_Kong       # 设置时区
-e DISPLAY_WIDTH=1920
-e DISPLAY_HEIGHT=1080     #设置显示的高宽
-e KEEP_APP_RUNNING=1      # 保持启动状态
-e ENABLE_CJK_FONT=1       # 防止显示页面时中文乱码
-e SECURE_CONNECTION=1     # 启用HTTPS功能
-e VNC_PASSWORD=admin  #设置VNC的访问密码,自定义即可
-p 5800:5800               #访问firefox的web端口
-p 5900:5900               #VNC端口
-v /data/irefox/config:/config:rw         # 容器挂载目录,存放firefox数据
--shm-size 2g               # 设置容器的内存资源为2g

5.3 查看Firefox容器状态

查看Firefox容器状态

[root@jeven firefox]#  docker ps
CONTAINER ID   IMAGE             COMMAND   CREATED          STATUS          PORTS                                                                                  NAMES
12fa9434b9fe   jlesage/firefox   "/init"   43 seconds ago   Up 42 seconds   0.0.0.0:5800->5800/tcp, :::5800->5800/tcp, 0.0.0.0:5900->5900/tcp, :::5900->5900/tcp   firefox

5.4 检查Firefox容器运行日志

检查Firefox容器运行日志

 docker logs firefox

在这里插入图片描述

六、访问Firefox浏览器

访问地址:http://192.168.3.166:5800/,将IP地址替换为自己服务器的IP地址,
提示输入连接密码,输入 VNC_PASSWORD指定的密码就可以了。

在这里插入图片描述
在这里插入图片描述

七、VNC访问Firefox浏览器

填写VNC Server地址:192.168.3.166:5800
名称自定义,即可通过VNC连接上Firefox浏览器。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

八、总结

在Docker环境下部署Firefox浏览器提供了灵活性和一致性,允许用户在任何支持Docker的平台上快速复制和运行相同配置的浏览器环境。这种部署方式特别适用于自动化测试,因为它确保了测试环境的标准化,减少了因环境差异导致的错误。此外,通过Docker容器,可以轻松地隔离不同项目或测试用例所需的特定Firefox配置,促进开发和测试的效率,同时也提高了安全性,因为每个容器都是相互隔离的。最后,Docker化的Firefox还便于团队协作,简化了环境搭建过程,使团队成员能够专注于核心任务,而不是环境配置的琐事。

相关文章
|
3月前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
167 2
|
3月前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
4月前
|
Kubernetes 监控 Cloud Native
云原生时代下的应用开发与部署实践
【10月更文挑战第4天】在云原生的浪潮中,开发者和运维人员面临着新的挑战和机遇。本文将通过实际案例,展示如何在云平台上高效地开发、部署和管理应用,同时确保系统的可扩展性和高可用性。我们将深入探讨容器化技术、微服务架构以及持续集成/持续部署(CI/CD)流程的实施策略,旨在为读者提供一套完整的云原生解决方案框架。
|
4月前
|
Kubernetes Cloud Native 云计算
云原生入门:从Docker到Kubernetes的旅程
【10月更文挑战第2天】本文将带你走进云原生的世界,从基础的Docker容器技术开始,逐步深入到Kubernetes集群管理。我们将通过实际代码示例,探索如何利用这些工具构建、部署和管理现代云应用。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的知识和技能,让你在云原生领域迈出坚实的一步。
109 5
|
1月前
|
Web App开发 安全 前端开发
一个接口4个步骤轻松搞定最新版Chrome、Edge、Firefox浏览器集成ActiveX控件
目前的浏览器市场,谷歌浏览器占据了半壁江山,因此,谷歌也是最有话语权的,2015年开始取消支持 NPAPI 插件,2022 年10月停止支持 PPAPI 插件;而曾经老大哥IE浏览器也已停止服务,退出历史舞台,导致大量曾经安全、便捷的ActiveX控件无法使用。为了解决这个难题,本人特研发出allWebPlugin中间件,重新让所有ActiveX控件能在谷歌、火狐等浏览器使用。
|
2月前
|
人工智能 缓存 异构计算
云原生AI加速生成式人工智能应用的部署构建
本文探讨了云原生技术背景下,尤其是Kubernetes和容器技术的发展,对模型推理服务带来的挑战与优化策略。文中详细介绍了Knative的弹性扩展机制,包括HPA和CronHPA,以及针对传统弹性扩展“滞后”问题提出的AHPA(高级弹性预测)。此外,文章重点介绍了Fluid项目,它通过分布式缓存优化了模型加载的I/O操作,显著缩短了推理服务的冷启动时间,特别是在处理大规模并发请求时表现出色。通过实际案例,展示了Fluid在vLLM和Qwen模型推理中的应用效果,证明了其在提高模型推理效率和响应速度方面的优势。
云原生AI加速生成式人工智能应用的部署构建
|
3月前
|
Kubernetes Cloud Native 微服务
云原生入门与实践:Kubernetes的简易部署
云原生技术正改变着现代应用的开发和部署方式。本文将引导你了解云原生的基础概念,并重点介绍如何使用Kubernetes进行容器编排。我们将通过一个简易的示例来展示如何快速启动一个Kubernetes集群,并在其上运行一个简单的应用。无论你是云原生新手还是希望扩展现有知识,本文都将为你提供实用的信息和启发性的见解。
|
3月前
|
敏捷开发 Kubernetes Cloud Native
阿里云云原生技术为企业提供了一套高效、灵活的解决方案,支持跨云部署与管理
在多云环境中,阿里云云原生技术为企业提供了一套高效、灵活的解决方案,支持跨云部署与管理。通过容器化、服务网格等技术,实现了应用的一致性与可移植性,简化了多云环境下的资源管理和服务治理,帮助企业应对复杂的云环境挑战,加速数字化转型。
92 5
|
3月前
|
运维 Cloud Native 云计算
云原生之旅:Docker容器化实战
本文将带你走进云原生的世界,深入理解Docker技术如何改变应用部署与运维。我们将通过实际案例,展示如何利用Docker简化开发流程,提升应用的可移植性和伸缩性。文章不仅介绍基础概念,还提供操作指南和最佳实践,帮助你快速上手Docker,开启云原生的第一步。
|
3月前
|
运维 Kubernetes Cloud Native
云原生技术入门:Kubernetes和Docker的协同工作
【10月更文挑战第43天】在云计算时代,云原生技术成为推动现代软件部署和运行的关键力量。本篇文章将带你了解云原生的基本概念,重点探讨Kubernetes和Docker如何协同工作以支持容器化应用的生命周期管理。通过实际代码示例,我们将展示如何在Kubernetes集群中部署和管理Docker容器,从而为初学者提供一条清晰的学习路径。