ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

docker-selenium 归档版本解析:Firefox 108.0.2 + GeckoDriver 0.36.0 镜像标签全解读

docker-selenium 归档版本解析:Firefox 108.0.2 + GeckoDriver 0.36.0 镜像标签全解读 测试后端云原生容器编排可观测性【免费下载链接】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 仓库 CHANGELOG/archived/4.31.0/firefox_108.md 归档记录为骨架解析 Selenium Grid 4.31.0 时代 Firefox 108 镜像的版本组合、标签命名规范与生成机制并延伸到镜像构建、拉取与运行实战。读完本文你将能看懂仓库中任一浏览器版本的 changelog 记录并能根据标签约定准确挑选、验证 Firefox 浏览器镜像。归档记录中的版本组合与标签产物在 4.31.0 版本发布时构建日期 20250414仓库通过tag_and_push_browser_images.sh为 Firefox 108 系列镜像生成了如下标签记录./tag_and_push_browser_images.sh 4.31.0 20250414 selenium false firefox true Tagging images for browser firefox, version 4.31.0, build date 20250414, namespace selenium Selenium Grid version - 4.31.0-20250414 Firefox version - 108.0.2 Short Firefox version - 108.0 GeckoDriver version - 0.36.0 Short GeckoDriver version - 0.36 Tagged selenium/node-firefox:108.0.2-geckodriver-0.36.0-grid-4.31.0-20250414 Tagged selenium/standalone-firefox:108.0.2-geckodriver-0.36.0-grid-4.31.0-20250414 Tagged selenium/node-firefox:108.0.2-geckodriver-0.36.0-20250414 Tagged selenium/standalone-firefox:108.0.2-geckodriver-0.36.0-20250414 Tagged selenium/node-firefox:108.0.2-20250414 Tagged selenium/standalone-firefox:108.0.2-20250414 Tagged selenium/node-firefox:108.0-geckodriver-0.36-grid-4.31.0-20250414 Tagged selenium/standalone-firefox:108.0-geckodriver-0.36-grid-4.31.0-20250414 Tagged selenium/node-firefox:108.0-geckodriver-0.36-20250414 Tagged selenium/standalone-firefox:108.0-geckodriver-0.36-20250414 Tagged selenium/node-firefox:108.0-20250414 Tagged selenium/standalone-firefox:108.0-20250414这条记录是该版本矩阵档案中的一条位于 CHANGELOG/README.md 的 Firefox 版本矩阵表中Grid 版本 4.31.0 行、Firefox 108 列交叉处的 ✓ 即指向本文件。归档意味着该 Grid 版本已不是最新但镜像仍可拉取用于固定浏览器版本的测试场景。标签命名规范从长标签到短标签的三级结构整个标签体系的核心意图是让使用者既能看到完整上下文的标签也能用最短可读的标签定位同一镜像。以本记录为例全部 12 个标签可分为三组语义标签维度完整格式示例短格式示例浏览器版本 驱动版本 Grid 版本 日期108.0.2-geckodriver-0.36.0-grid-4.31.0-20250414108.0-geckodriver-0.36-grid-4.31.0-20250414浏览器版本 驱动版本 日期108.0.2-geckodriver-0.36.0-20250414108.0-geckodriver-0.36-20250414浏览器版本 日期108.0.2-20250414108.0-20250414完整版本号108.0.2与0.36.0精确到 Patch 级别保证可复现短版本号108.0与0.36由脚本的short_version()函数截取前两段取主版本和次版本方便快速引用同一系列的最新 Patch。同时每种标签都同时打在node-firefox和standalone-firefox两个镜像上分别对应 Selenium Grid 的Node 模式需要配合 Hub与Standalone 模式单容器内建完整 Grid。这也解释了为什么归档记录中每个 tag 都成对出现。标签生成机制源码级拆解标签并不是手工维护的而是由根目录的 tag_and_push_browser_images.sh 在发布流程中自动生成。对应 firefox 分支的核心逻辑如下读取已构建镜像的真实版本通过docker run --rm selenium/node-firefox:4.31.0-20250414 firefox --version解析 Firefox 版本用geckodriver --version解析 GeckoDriver 版本脚本第 197-204 行生成短版本short_version()函数将108.0.2拆分为108.0第 53-57 行组装标签数组FIREFOX_TAGS按固定模板拼接出 6 个含日期标签第 206-218 行当RELEASE_OLD_VERSIONfalse时额外追加 4 个不含日期的浮动标签第 219-230 行打标并推送retag()函数对node-firefox和standalone-firefox循环执行docker tag若PUSH_IMAGEtrue则继续docker push第 31-51 行。注意脚本第一行参数含义4.31.0Grid 版本、20250414构建日期、selenium命名空间、false是否推送此处为否、firefox浏览器、trueRELEASE_OLD_VERSION即本次为旧版本归档发布因此不再打108.0.2-geckodriver-0.36.0、108.0.2这类浮动标签避免抢占最新引用。这正是归档记录只有 12 个标签、而没有浮动版本标签的原因。发布命令也可通过 Makefile 触发例如make tag_and_push_firefox_images VERSION4.31.0 BUILD_DATE20250414见 Makefile其本质仍是调用同一脚本。镜像构建Firefox 108 与 GeckoDriver 如何进入镜像理解标签之前还需知道标签背后的镜像里装了什么。NodeFirefox/Dockerfile 展示了关键构建步骤Firefox 安装策略对于amd64架构或指定latest、beta-latest、nightly-latest等渠道的版本优先走 apt 安装对于指定具体版本号如108的旧版本则动态拼接 Mozilla 官方下载地址.deb优先404 时回退.tar.bz2交由 install-firefox-package.sh 下载并解压到/opt/firefox-version再软链到/usr/bin/firefoxDockerfile 第 24-70 行语言包构建末尾执行 get_lang_package.sh按版本号从 Mozilla FTP 拉取全量.xpi语言包到distribution/extensions目录GeckoDriver 安装通过GECKODRIVER_VERSION参数指定版本默认latest时解析 GitHub Releases 最新 tag下载对应linux64或linux-aarch64压缩包解压后软链到/usr/bin/geckodriverDockerfile 第 75-86 行浏览器信息导出构建时将firefox名称、firefox --version输出的版本号以及moz:firefoxOptions.binary默认位置写入/opt/selenium/browsers/firefox/第 93-96 行供 Selenium Grid 在注册时上报浏览器能力。因此标签中的108.0.2与0.36.0是构建时从镜像内部实测读取的版本号而非人为填写的声明值保证了标签与容器内实际二进制的一致性。实战如何拉取与运行 Firefox 108 镜像Standalone 模式单容器推荐快速验证docker run -d -p 4444:4444 -p 7900:7900 --shm-size2g \ selenium/standalone-firefox:108.0.2-geckodriver-0.36.0-grid-4.31.0-20250414Node 模式接入 Selenium Grid Hub# 1. 创建网络 docker network create grid # 2. 启动 Hub docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.31.0-20250414 # 3. 启动 Firefox Node并通过 SE_EVENT_BUS_HOST 关联 Hub docker run -d --net grid -e SE_EVENT_BUS_HOSTselenium-hub --shm-size2g \ selenium/node-firefox:108.0.2-geckodriver-0.36.0-grid-4.31.0-20250414两种模式的完整运行说明可分别参考 docs/docker-hub/node-firefox.md 与 docs/docker-hub/standalone-firefox.md。要点包括务必使用--shm-size2g包含浏览器的镜像需要宿主共享内存否则浏览器进程可能因/dev/shm空间不足崩溃建议使用完整标签固定版本latest虽可运行但无法锁定浏览器与驱动版本不利于跨浏览器回归测试的可复现性调试查看通过http://localhost:7900/?autoconnect1resizescalepasswordsecret可实时观察容器内 Firefox 运行画面验证镜像内容docker run --rm selenium/node-firefox:108.0.2-geckodriver-0.36.0-grid-4.31.0-20250414 firefox --version可复核版本一致性。版本矩阵档案的价值与读取方式CHANGELOG/README.md 是检索这套镜像体系的入口它按 Chrome、Chrome for Testing、Edge、Firefox 分表横轴是浏览器版本、纵轴是 Grid 版本交叉的 ✓ 链接到对应 changelog 记录文件。本文对应的 Firefox 108 记录即位于 4.31.0 行归档区而同版本文件firefox_136.md、firefox_137.md等记录了该 Grid 版本支持的其他 Firefox 版本。使用建议当某个 Firefox 版本出现兼容性回归需要锁定旧浏览器做兼容测试时可按浏览器版本 → Grid 版本在矩阵中定位记录再按本文解析的标签规范拉取精确镜像同时需知仓库官方声明——并非每个 Grid 与浏览器版本的组合都经过完整测试使用者应根据自身测试需求评估选择。归档记录与当前版本的对照同样的 Firefox 108 版本在最新 Grid 版本如 4.48.0中依然有对应记录见 CHANGELOG/4.48.0/firefox_108.md其中 GeckoDriver 已升级为 0.37.1、构建日期为 20260909但标签结构与生成逻辑完全一致。这印证了该标签体系是跨版本长期稳定运行的约定任何历史版本都可以用同一套规则读懂。核心结论docker-selenium 的浏览器镜像标签是版本可组合、格式可预测的浏览器完整版本[-geckodriver-驱动版本][-grid-Grid版本]-构建日期及其短版本变体共同构成一套可复现、可追溯的镜像寻址体系而 tag_and_push_browser_images.sh 从镜像内实测版本并自动生成标签保证了发布流程的准确与一致。赞分享测试后端云原生容器编排可观测性【免费下载链接】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 4.29.0 归档变更记录解读Firefox 108.0.2 GeckoDriver 0.36.0 镜像标签的生成机制docker selenium 4.29.0 归档变更记录解读Firefox 108.0.2 GeckoDriver 0.36.0 镜像标签的生成机制 本测试后端云原生容器编排可观测性docker-selenium 4.28.1 发布日志解读Firefox 108.0.2 GeckoDriver 0.35.0 镜像标签全解析docker selenium 4.28.1 发布日志解读Firefox 108.0.2 GeckoDriver 0.35.0 镜像标签全解析 导读 本文测试后端云原生容器编排可观测性Matter NXP 工厂数据生成器NXP Factory Data Generator实战指南从 KLV 架构到产线烧写与安全加固Matter NXP 工厂数据生成器NXP Factory Data Generator实战指南从 KLV 架构到产线烧写与安全加固 本文以 Matter测试后端云原生容器编排可观测性上一篇SuperClaude Framework 前端架构师frontend-architectAgent 实战指南无障碍、性能与响应式设计下一篇Actix Web 中的 Multipart 请求与表单处理actix-multipart 完整指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进