docker-selenium 浏览器镜像打标实战:从 Firefox 106.0.5 的发布记录解读 Selenium Grid 4.30.0 镜像 Tag 体系

发布时间:2026/10/6 7:23:41

docker-selenium 浏览器镜像打标实战:从 Firefox 106.0.5 的发布记录解读 Selenium Grid 4.30.0 镜像 Tag 体系 测试后端云原生容器编排可观测性【免费下载链接】docker-seleniumProvides a simple way to run Selenium Grid with Chrome, Firefox, and Edge using Container Platform, making it easier to perform browser automation at scale项目地址https://gitcode.com/GitHub_Trending/do/docker-selenium点击查看免费下载本篇指南以仓库归档记录 CHANGELOG/archived/4.30.0/firefox_106.md 为主线完整还原 docker-selenium 项目在发布 Selenium Grid 4.30.0 时如何为 Firefox 106.0.5 镜像执行自动打标与推送并深入解析 tag_and_push_browser_images.sh 脚本的版本探测、短版本派生、多 Tag 生成与推送机制。读完本文你将掌握node-firefox/standalone-firefox镜像 Tag 的命名规则、归档 CHANGELOG 文件的阅读方法以及如何在跨浏览器测试或版本锁定场景中精准拉取并运行指定 Firefox 版本镜像。归档 CHANGELOG 文件是什么一次浏览器镜像发布的完整快照docker-selenium 仓库在CHANGELOG/目录下为每一个 Grid 发布版本保留一组浏览器版本记录文件命名形如firefox_106.md表示 Firefox 106 系列。每当一次发布执行浏览器镜像打标后脚本输出会被记录成 Markdown 文件归档。由于当前最新版本目录只保留最近的 Grid 版本历史版本会被 CHANGELOG/generate-matrix-readme.py 中的archive_old_versions()逻辑移动到archived/子目录这就是本文主角位于CHANGELOG/archived/4.30.0/的原因。该文件本质上是一段可直接复现的终端输出记录了以下关键事实执行命令./tag_and_push_browser_images.sh 4.30.0 20250323 selenium false firefox trueSelenium Grid 版本4.30.0-20250323Grid 主版本 构建日期Firefox 版本106.0.5短版本106.0GeckoDriver 版本0.36.0短版本0.36生成的全部镜像 Tag对node-firefox和standalone-firefox各 6 个共 12 个完整还原Firefox 106.0.5 在 Grid 4.30.0 的全部镜像 Tag归档记录中生成的 12 个 Tag 按命名维度可划分为三组每组同时打给 Node 与 Standalone 镜像维度Tag 示例node 与 standalone 前缀各一份全版本 驱动 Grid 标识106.0.5-geckodriver-0.36.0-grid-4.30.0-20250323全版本 驱动 构建日期106.0.5-geckodriver-0.36.0-20250323全版本 构建日期106.0.5-20250323短版本 短驱动 Grid 标识106.0-geckodriver-0.36-grid-4.30.0-20250323短版本 短驱动 构建日期106.0-geckodriver-0.36-20250323短版本 构建日期106.0-20250323完整输出如下selenium为命名空间node-firefox与standalone-firefox各打 6 个 Tag./tag_and_push_browser_images.sh 4.30.0 20250323 selenium false firefox true Tagging images for browser firefox, version 4.30.0, build date 20250323, namespace selenium Selenium Grid version - 4.30.0-20250323 Firefox version - 106.0.5 Short Firefox version - 106.0 GeckoDriver version - 0.36.0 Short GeckoDriver version - 0.36 Tagged selenium/node-firefox:106.0.5-geckodriver-0.36.0-grid-4.30.0-20250323 Tagged selenium/standalone-firefox:106.0.5-geckodriver-0.36.0-grid-4.30.0-20250323 Tagged selenium/node-firefox:106.0.5-geckodriver-0.36.0-20250323 Tagged selenium/standalone-firefox:106.0.5-geckodriver-0.36.0-20250323 Tagged selenium/node-firefox:106.0.5-20250323 Tagged selenium/standalone-firefox:106.0.5-20250323 Tagged selenium/node-firefox:106.0-geckodriver-0.36-grid-4.30.0-20250323 Tagged selenium/standalone-firefox:106.0-geckodriver-0.36-grid-4.30.0-20250323 Tagged selenium/node-firefox:106.0-geckodriver-0.36-20250323 Tagged selenium/standalone-firefox:106.0-geckodriver-0.36-20250323 Tagged selenium/node-firefox:106.0-20250323 Tagged selenium/standalone-firefox:106.0-20250323注意命令的第六个参数为true即RELEASE_OLD_VERSIONtrue。这意味着 Firefox 106 属于在更早的 Grid 版本中已经发布过的“旧版本”因此脚本跳过了纯版本号 Tag如106.0.5、106.0等这些 Tag 已指向早期构建只为本次发布追加带构建日期或 Grid 版本标识的新 Tag。若RELEASE_OLD_VERSIONfalse新浏览器版本首次发布每个镜像还会额外生成 4 个纯版本类 Tag。为什么同一份记录要跨多个 Grid 版本持续存在对比同目录下的 CHANGELOG/4.48.0/firefox_106.md 可以发现Firefox106.0.5在 Grid4.48.0-20260909中再次被打标但此时配套的 GeckoDriver 已升级为0.37.1短版本0.37。这说明该 CHANGELOG 矩阵的核心设计意图是——浏览器版本可以被“钉住”pin而 Selenium Grid 核心与驱动版本可以持续演进。这正是 CHANGELOG/README.md 中声明的动机既为使用方提供最新的 Grid 功能又允许因浏览器兼容性问题锁定特定浏览器版本。README 同时明确提示并非所有 Grid × 浏览器组合都经过完整测试使用者需基于自身测试需求评估。打标脚本源码解析版本如何被探测、Tag 如何被生成归档输出由 tag_and_push_browser_images.sh 生成。脚本共接收 7 个位置参数参数含义默认值$1VERSIONSelenium Grid 版本如4.30.0无$2BUILD_DATE构建日期YYYYMMDD无$3NAMESPACE镜像命名空间无实际取NAME$4PUSH_IMAGE是否推送false$5BROWSER浏览器类型firefox/chrome/chromium/edge/chrome-for-testing无$6RELEASE_OLD_VERSION是否为已发布过的旧版本false$7PLATFORM平台仅 chrome/chrome-for-testing 使用linux/amd64对 firefox 分支而言版本探测依赖在刚构建好的镜像内直接执行二进制取版本号FIREFOX_VERSION$(docker run --rm ${NAMESPACE}/node-firefox:${TAG_VERSION} firefox --version | awk {print $3}) GECKODRIVER_VERSION$(docker run --rm ${NAMESPACE}/node-firefox:${TAG_VERSION} geckodriver --version | awk NR1{print $2})其中TAG_VERSION${VERSION}-${BUILD_DATE}即先取selenium/node-firefox:4.30.0-20250323这个 Grid 标识的基础 Tag再从容器内解析firefox --version与geckodriver --version的真实输出版本号。短版本由short_version()函数派生——按.拆分后取前两段106.0.5→106.00.36.0→0.36。打标通过retag()函数完成其行为分两种模式常规模式PROMOTE_TAGS未开启docker tag本地镜像 可选docker push对应命令第四个参数false即本次仅打标不推送镜像推广模式PROMOTE_TAGStrue直接用docker buildx imagetools create在 registry 之间复制 manifest避免docker pull只带回单架构镜像的问题可选通过PROMOTE_GHCR_NAMESPACE同步镜像到 GHCR。在 Makefile 中该脚本由tag_and_push_firefox_images目标调用tag_and_push_firefox_images: ./tag_and_push_browser_images.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) $(PUSH_IMAGE) firefox $(RELEASE_OLD_VERSION)对应地firefox_upgrade_version目标Makefile展示了发布前的验证套路依次在standalone-firefox容器内执行selenium-server.jar info --version、firefox --version、geckodriver --version确保 Grid 服务端、浏览器、驱动三方版本一致后再打标。Firefox 106.0.5 与 GeckoDriver 0.36.0 如何进入镜像打标脚本探测到的版本来自 NodeFirefox/Dockerfile 的构建产物。该 Dockerfile 通过两个可覆盖的构建参数控制版本FIREFOX_VERSION默认latest按架构amd64 →x86_64arm64 →aarch64从 Mozilla 官方下载地址取对应版本安装包优先.deb若返回 404 则回退.tar.bz2GECKODRIVER_VERSION默认latest先解析 GeckoDriver 最新 release 的实际版本再按架构选择linux64或linux-aarch64包下载解压并软链接到/usr/bin/geckodriver。安装脚本 NodeFirefox/install-firefox-package.sh 根据下载 URL 后缀分派三种安装路径.deb直装、.tar.bz2/.tar.xz解压到/opt/firefox-版本后软链接。构建尾声还会将浏览器信息写入/opt/selenium/browsers/firefox/name、version、binary_location供 Grid Node 配置与日志使用同时声明SE_OTEL_SERVICE_NAMEselenium-node-firefox与SE_NODE_ENABLE_MANAGED_DOWNLOADStrue环境变量。因此打标脚本取到的106.0.5/0.36.0就是容器内实际运行的二进制版本Tag 与真实内容严格一致。如何拉取并使用 Firefox 106.0.5 镜像以 Node 模式加入 Grid Hub参考 docs/docker-hub/node-firefox.md 的 Hub-and-Node 拓扑先建网络再启动 Hub最后让 Node 通过事件总线容器名自动注册docker network create grid docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:latest docker run -d --net grid -e SE_EVENT_BUS_HOSTselenium-hub \ --shm-size2g \ selenium/node-firefox:106.0.5-geckodriver-0.36.0-grid-4.30.0-20250323若使用 Windows PowerShell换行符需替换为反引号。随后将 WebDriver 测试指向http://localhost:4444需要观察容器内画面时访问 noVNC 界面http://localhost:7900/?autoconnect1resizescalepasswordsecret默认密码secret。用完可执行docker network rm grid清理。以 Standalone 模式一键运行参考 docs/docker-hub/standalone-firefox.md单容器即可承载完整 Grid 与 Firefoxdocker run -d -p 4444:4444 -p 7900:7900 --shm-size2g \ selenium/standalone-firefox:106.0.5-geckodriver-0.36.0-grid-4.30.0-20250323重要前提所有含浏览器的镜像都必须添加--shm-size2g使用宿主机共享内存否则浏览器进程极易因/dev/shm空间不足而崩溃。Tag 选择建议按 docs/docker-hub/node-firefox.md 的说明Tag 通用结构为selenium/node-firefox-Major.Minor.Patch-YYYYMMDD selenium/node-firefox-browserVersion-browserDriver-browserDriverVersion-Major.Minor.Patch-YYYYMMDD两者可自由组合即本记录生成的 6 种维度。日常使用建议避免latest改用完整 Tag 显式钉住浏览器、驱动与 Grid 版本若只需取某个发布周期内“最近一次”的 Firefox 106 构建用106.0.5-20250323这类带构建日期的精简 Tag 即可。归档矩阵的维护机制与阅读方式CHANGELOG/generate-matrix-readme.py 负责把每个firefox_106.md这类文件汇总成 CHANGELOG/README.md 中的“Selenium Grid x Browser Version Matrix”矩阵表。其工作流程分三步归档archive_old_versions()将CHANGELOG/下非最新版本目录移动到archived/所以 4.30.0 的记录位于archived/下扫描scan_changelog()用正则([\w-])_(\d)\.md解析出每个 Grid 版本下覆盖的浏览器与版本集合生成generate_readme()按浏览器分组输出表格每个 ✓ 链接到对应记录文件。因此阅读方式很简单在矩阵表的 Firefox 分区找到 Grid 版本4.30.0与浏览器版本106交叉处的 ✓点击即可进入本文解析的这份发布快照。若你的测试需要 Firefox 106 而 Grid 核心希望用更新的版本可在矩阵中横向比较多个 Grid 版本下 Firefox 106 记录中 GeckoDriver 的差异如 4.30.0 用0.36.04.48.0 用0.37.1据此选择最匹配的组合。小结一份看似只有 21 行的归档 CHANGELOG 文件背后串联起 docker-selenium 的三条核心链路构建NodeFirefox/Dockerfile 将 Firefox 106.0.5 与 GeckoDriver 0.36.0 固化进镜像、打标tag_and_push_browser_images.sh 在容器内探测版本并派生 12 个多维 Tag、使用按 Tag 精确拉取 Node 或 Standalone 镜像运行测试。掌握这套 Tag 体系即可在跨浏览器测试中随心锁定浏览器版本同时享受 Selenium Grid 持续更新的能力。赞分享测试后端云原生容器编排可观测性【免费下载链接】docker-seleniumProvides a simple way to run Selenium Grid with Chrome, Firefox, and Edge using Container Platform, making it easier to perform browser automation at scale项目地址https://gitcode.com/GitHub_Trending/do/docker-selenium点击查看免费下载相关推荐docker-selenium 浏览器镜像标签体系深度解析以 Firefox 106.0.5 Selenium Grid 4.28.1 发布记录为例docker selenium 浏览器镜像标签体系深度解析以 Firefox 106.0.5 Selenium Grid 4.28.1 发布记录为例 本篇测试后端云原生容器编排可观测性Selenium Docker 镜像 Firefox 122.0.1 发布记录深度解读docker-selenium 4.28.1 的镜像打标流程与 Tag 体系Selenium Docker 镜像 Firefox 122.0.1 发布记录深度解读docker selenium 4.28.1 的镜像打标流程与 Tag测试后端云原生容器编排可观测性opencodex Release Train 实战PR 136 137 的 dev 集成、Timer-Leak 修复与 GUI i18n 门禁对齐opencodex Release Train 实战PR 136 137 的 dev 集成、Timer Leak 修复与 GUI i18n 门禁对齐 本文测试后端云原生容器编排可观测性上一篇【亲测免费】 探秘JavyJavaScript转WebAssembly的利器下一篇Ultimate Vocal Remover三步出干净伴奏创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/6 8:33:44

脑卒中预测模型实战:从CSV清洗到SHAP可解释性全流程

简介:面向医疗数据分类入门者的一套完整中风预测项目,采用Jupyter Notebook实现,基于Kaggle公开数据,按性别、年龄、疾病史与吸烟状况等特征预测中风风险,并以F1分数与AUC均达到1.0为优化目标,适合学习特征…

2026/10/6 8:33:44

PyTorch眼睛疾病分类数据集训练:验证集划分与类别不平衡实战指南

简介:眼睛疾病分类数据集是一份可直接用于图像分类任务的中小型医学影像资源,包含白内障、青光眼、正常、视网膜疾病四个类别,适合临床筛查模型练手、课程实验或YOLOv5分类项目。数据按train和test目录整理,训练集481张、测试集12…

2026/10/6 8:33:44

AI部署≠成熟部署:企业AI落地的关键环节与工程实践

1. 从“喧嚣的投入”到“冷静的落地”这几年AI投资的热度有目共睹,从大语言模型到多模态应用,从各类AI Agent到企业私有化部署,几乎每个季度都有新的技术热点冒出来。企业的预算表里也越来越多地出现“AI建设”、“大模型应用”、“智能体开发”这些条目。但与此同时,行业里也有…

2026/10/6 8:33:44

临时文件自动化清理:从脚本到容器环境的完整方案

先说点实在话。临时文件这东西,几乎每个用电脑的人都会碰到,但真正把它当回事的人不多。我曾经在一台测试服务器上见过 /tmp 目录里堆了接近 30GB 的垃圾,里面全是各种安装包残留、编译中间产物和半年前的日志切片。更麻烦的是,这…

2026/10/6 8:28:44

计算机网络学习与实战:从分层模型到故障排查

1. 为什么计算机网络是“人人必修”的底层课 说实话,我见过太多人把计算机网络学成了“背完就忘”的科目。期末能默写TCP三次握手,但Wireshark抓个包看不懂;能说出OSI七层模型,但公司网络一卡就只会重启路由器;简历上写…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/6 4:01:51

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/5 17:38:27

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 0:03:23

MR25H40CDF+STM32F031C6工业级高可靠数据存储方案

1. 项目概述:为什么在工业现场非得用 MR25H40CDF 配 STM32F031C6 做数据存储?在工厂产线的 PLC 控制柜里、在风电变流器的散热片背面、在矿井监测终端的金属外壳下,你经常能看到一块指甲盖大小的黑色芯片——它既不是 Flash,也不是…

2026/10/6 0:03:23

MRAM+STM32工业断电数据保全实战指南

1. 项目概述:为什么在工业现场非得用 MR25H40CDF 配 STM32F031C6 做数据存储?在工厂产线的PLC柜里、在野外无人值守的环境监测终端里、在高速运转的包装机控制板上,你经常能看到一块指甲盖大小的黑色芯片,旁边贴着“MR25H40CDF”丝…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑