尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
docker-selenium 镜像标签生成指南:解读 tag_and_push_browser_images.sh 与 Chrome 112 发布记录
测试后端云原生容器编排可观测性【免费下载链接】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点击查看免费下载本篇技术指南以仓库归档的 Chrome 112 发布记录CHANGELOG/archived/4.28.1/chrome_112.md为切入点深入剖析 docker-selenium 项目镜像标签的生成脚本 tag_and_push_browser_images.sh 的完整执行逻辑、参数含义与标签命名约定。读完本文你将掌握如何读懂一次浏览器镜像发布的输出记录、selenium/node-chrome与selenium/standalone-chrome各标签变体的构成规则以及在实际 Selenium Grid 测试中如何依据版本矩阵挑选并拉取精确的镜像标签。一次发布记录Chrome 112 镜像标签快照在 4.28.1 版本的 Selenium Grid 发布周期中仓库以 Chrome 112 为浏览器载体生成并归档了一组镜像标签。原始记录如下节选自 CHANGELOG/archived/4.28.1/chrome_112.md./tag_and_push_browser_images.sh 4.28.1 20250202 selenium false chrome true Tagging images for browser chrome, version 4.28.1, build date 20250202, namespace selenium Selenium Grid version - 4.28.1-20250202 Chrome version - 112.0.5615.165 Short Chrome version - 112.0 ChromeDriver version - 112.0.5615.49 Short ChromeDriver version - 112.0 Tagged selenium/node-chrome:112.0.5615.165-chromedriver-112.0.5615.49-grid-4.28.1-20250202 Tagged selenium/standalone-chrome:112.0.5615.165-chromedriver-112.0.5615.49-grid-4.28.1-20250202 Tagged selenium/node-chrome:112.0.5615.165-chromedriver-112.0.5615.49-20250202 Tagged selenium/standalone-chrome:112.0.5615.165-chromedriver-112.0.5615.49-20250202 Tagged selenium/node-chrome:112.0.5615.165-20250202 Tagged selenium/standalone-chrome:112.0.5615.165-20250202 Tagged selenium/node-chrome:112.0-chromedriver-112.0-grid-4.28.1-20250202 Tagged selenium/standalone-chrome:112.0-chromedriver-112.0-grid-4.28.1-20250202 Tagged selenium/node-chrome:112.0-chromedriver-112.0-20250202 Tagged selenium/standalone-chrome:112.0-chromedriver-112.0-20250202 Tagged selenium/node-chrome:112.0-20250202 Tagged selenium/standalone-chrome:112.0-20250202这 12 行 Tagged 输出并非随意生成而是脚本根据镜像内真实安装的浏览器与驱动版本自动组合出 6 种标签命名模式、分别作用于node-chrome与standalone-chrome两类镜像的结果。下面逐层拆解。命令参数逐项解析发布记录第一行就是脚本调用本身其 7 个位置参数与 tag_and_push_browser_images.sh 顶部的变量声明一一对应位置示例值脚本变量含义$14.28.1VERSIONSelenium Grid 主版本号$220250202BUILD_DATE构建/发布日期YYYYMMDD$3seleniumNAMESPACE镜像命名空间Docker Hub 仓库前缀$4falsePUSH_IMAGE是否在打标签后执行docker push默认false$5chromeBROWSER浏览器类型可选chrome/chromium/edge/firefox/chrome-for-testing$6trueRELEASE_OLD_VERSION是否归档旧版本为true时不生成不带日期的简写标签见下文$7省略PLATFORM目标平台默认linux/amd64脚本还会拼接出发布标签版本TAG_VERSION${VERSION}-${BUILD_DATE}即输出中反复出现的4.28.1-20250202。此外脚本支持两个环境变量PROMOTE_TAGStrue时改用docker buildx imagetools create在 registry 间直接复制多架构 manifest而非本地docker tagPROMOTE_GHCR_NAMESPACE则在同一次调用中同步镜像到 GHCR 命名空间见 tag_and_push_browser_images.sh 的retag()函数。版本探测从运行中的容器读取真实版本与根据外部输入写死版本号不同脚本启动刚构建好的node-chrome:4.28.1-20250202容器通过执行二进制命令并解析输出来探测浏览器与驱动版本见 tag_and_push_browser_images.shCHROME_VERSION$(docker run --platform ${PLATFORM} --rm ${NAMESPACE}/node-chrome:${TAG_VERSION} google-chrome --version | awk {print $3}) CHROMEDRIVER_VERSION$(docker run --platform ${PLATFORM} --rm ${NAMESPACE}/node-chrome:${TAG_VERSION} chromedriver --version | awk {print $2})因此在本次记录中Chrome 完整版本112.0.5615.165经short_version()函数按.拆分后取前两段见 tag_and_push_browser_images.sh得到短版本112.0ChromeDriver 完整版本112.0.5615.49短版本同样为112.0。这也印证了镜像构建层面的版本参数NodeChrome 的 NodeChrome/Dockerfile 中CHROME_VERSION默认google-chrome-stable、CHROME_DRIVER_VERSION默认取最新发布版浏览器版本与驱动版本在构建时被安装进镜像发布时再从镜像内部探测出来。标签命名约定6 种模式 × 2 类镜像脚本为 Chrome 定义了 6 个标签模式见 tag_and_push_browser_images.sh并按RELEASE_OLD_VERSION决定是否追加 4 个不带日期的变体。由于本次命令第 6 个参数为true归档旧版本只生成带日期的 6 种模式本次生成的完整标签示例完整版本 驱动 Grid 版本 日期selenium/node-chrome:112.0.5615.165-chromedriver-112.0.5615.49-grid-4.28.1-20250202完整版本 驱动 日期selenium/node-chrome:112.0.5615.165-chromedriver-112.0.5615.49-20250202完整版本 日期selenium/node-chrome:112.0.5615.165-20250202短版本 短驱动 Grid 版本 日期selenium/node-chrome:112.0-chromedriver-112.0-grid-4.28.1-20250202短版本 短驱动 日期selenium/node-chrome:112.0-chromedriver-112.0-20250202短版本 日期selenium/node-chrome:112.0-20250202上述每种模式同时应用于node-chrome与standalone-chrome两个镜像因此共产生 12 行 Tagged 输出。这与 docs/docker-hub/node-chrome.md 中描述的标签结构一致既可以用selenium/node-chrome-browserVersion-browserDriverVersion-Major.Minor.Patch-YYYYMMDD精确锁定完整组合也可以用短版本标签如112.0-20250202快速获取该主版本线的最新发布。若发布的是非归档新版本RELEASE_OLD_VERSIONfalse还会额外追加112.0.5615.165-chromedriver-112.0.5615.49、112.0.5615.165、112.0-chromedriver-112.0、112.0这 4 个不带日期的浮动标签让用户无需关心具体构建日期即可引用。两类镜像形态Node 与 Standalone发布记录同时为node-chrome和standalone-chrome打上相同版本组合的标签二者面向不同的部署形态selenium/node-chromeSelenium Grid 的 Node 形态需配合 Hub或 Router/Distributor 等 Grid 组件使用通过事件总线注册进网格见 docs/docker-hub/node-chrome.md 的 Hub Node 启动流程selenium/standalone-chrome把 Grid 服务与浏览器打包在同一个容器中独立运行开箱即用适合本地调试或轻量自动化场景。两者共享同一套 NodeChrome 镜像构建产物NodeChrome/Dockerfile差别仅在入口编排可对比 Standalone/start-selenium-standalone.sh 与 NodeBase/start-selenium-node.sh。由于 Chrome 与 ChromeDriver 的版本必须严格匹配发布流程保证了同一日期发布的node-chrome与standalone-chrome标签指向的浏览器/驱动组合完全一致可直接互相替代使用。版本矩阵为什么要有这么多 Chrome 版本标签仓库 CHANGELOG/README.md 开篇说明了这类 changelog 的动机让用户既能用上最新的 Selenium Grid 核心功能又能在跨浏览器测试时固定某个浏览器版本例如因特定浏览器版本存在兼容问题或支持受限。因此每个 Grid 版本都维护一张Grid 版本 × 浏览器版本矩阵矩阵中每个 ✓ 链接到对应浏览器版本的详细 changelog 记录。本次的 chrome_112.md 正是 4.28.1 矩阵行中 Chrome 112 列的归档详情与之并列的还有 4.28.1 下的 Chrome 113132、Edge 114132、Firefox 98134 等条目。此外README 明确提示项目并未对所有 Grid 与浏览器版本的组合做完整测试使用者应根据自身测试需求评估并决定。实战在测试中锁定 Chrome 112 镜像理解了标签构成后即可在实际测试中精确选择镜像# 1. 创建共享网络 docker network create grid # 2. 启动 Selenium Grid Hub4.28.1 版本 docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.28.1-20250202 # 3. 启动 Chrome 112 节点推荐使用 --shm-size2g 共享内存 docker run -d --net grid -e SE_EVENT_BUS_HOSTselenium-hub \ --shm-size2g \ selenium/node-chrome:112.0.5615.165-chromedriver-112.0.5615.49-grid-4.28.1-20250202若只需锁定Chrome 112 主版本线而不关心补丁号可选用短版本标签docker run -d --net grid -e SE_EVENT_BUS_HOSTselenium-hub \ --shm-size2g \ selenium/node-chrome:112.0-20250202测试脚本只需指向http://localhost:4444Grid 入口由 Selenium 客户端按 capability 匹配browserNamechrome、browserVersion112.0即可路由到该节点。选择标签的核心原则是需要版本完全可复现时使用完整版本标签需要跟随某主版本线的修复更新时使用短版本标签。总结从一行发布命令到 12 条镜像标签本次 Chrome 112 发布记录完整展示了 docker-selenium 的版本管理机制脚本 tag_and_push_browser_images.sh 通过运行容器探测浏览器与驱动真实版本按 6 种命名模式 × 2 类镜像批量打标签并借助 CHANGELOG/README.md 的版本矩阵为每个 Grid 版本留存可检索的归档记录。掌握这套标签生成逻辑你就能在任何需要固定浏览器版本的 Selenium 测试环境中快速、准确地定位并拉取所需的镜像标签。赞分享测试后端云原生容器编排可观测性【免费下载链接】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点击查看免费下载相关推荐基于 tag_and_push_browser_images.sh 的 Chrome 版本镜像标签发布实战docker-selenium 4.48.0 与 Chrome 96 发布记录全解基于 tag_and_push_browser_images.sh 的 Chrome 版本镜像标签发布实战docker selenium 4.48.0 与 C测试后端云原生容器编排可观测性Selenium Docker 发布记录解读Chrome 140 镜像的版本探测与标签生成机制Selenium Docker 发布记录解读Chrome 140 镜像的版本探测与标签生成机制 CHANGELOG/4.48.0/chrome_140.md测试后端云原生容器编排可观测性docker-selenium 镜像标签深度解读以 Chrome 132 发布记录为例docker selenium 镜像标签深度解读以 Chrome 132 发布记录为例 本篇技术指南围绕 CHANGELOG/4.48.0/chrome_13测试后端云原生容器编排可观测性上一篇Rete.js移动端适配触摸设备上的流程图交互优化下一篇vue-hackernews-2.0中的自定义过滤器格式化日期与数字创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

基于SpringBoot+Vue的电子竞技青训系统设计与实现

基于SpringBoot+Vue的电子竞技青训系统设计与实现

选题背景与意义 随着电子竞技产业的迅猛发展,其已从边缘化的娱乐活动逐步演变为具有高度商业化、职业化和规范化特征的现代体育项目。根据《2023年中国电子竞技产业报告》显示,中国电子竞技市场规模已突破1500亿元,用户规模超过5亿&#xff0…

📅 2026/10/4 10:27:59
从单体到可扩展:后台管理系统架构演进与模块化实践

从单体到可扩展:后台管理系统架构演进与模块化实践

创业团队最头疼的事情里,“后台要不要重写”绝对排前三。业务跑得飞快,数据一天天堆起来,后台却还是当初为了赶上线临时拼凑的那一套——改一个字段要翻半天代码,加一个报表要动好几个模块,线上出了bug连日志都不好查。…

📅 2026/10/4 10:27:59
基于微信小程序的中学德育实践活动管理系统设计与实现

基于微信小程序的中学德育实践活动管理系统设计与实现

选题背景与意义 随着信息技术的迅猛发展和教育信息化进程的不断推进,传统教育管理模式正面临深刻变革。中学德育作为全面育人体系中的核心环节,其重要性日益凸显。德育不仅关乎学生思想品德的养成,更直接影响其价值观塑造、社会责任感培养以及…

📅 2026/10/4 10:27:59
MORE NEWS

更多资讯

📰

ROS2机器人开发实战路线图:从DDS通信到真实部署

1. 这不是“教程搬运”,而是一份ROS2机器人开发的实战路线图你点开这个标题,大概率是刚接触机器人开发,手头可能连一台能跑Linux的旧笔记本都没有,或者刚装完Ubuntu却卡在sudo apt update报错那一步;也可能是学过ROS1&…

📰

面试高频数学题背后的结构化思维本质

1. 这些题不是考数学,是考你“怎么想问题”“截木棍”“圆上取点”“赛马”“红蓝墨水”“毒药测试”“坐错座位”——如果你在准备技术岗、产品岗、咨询岗甚至部分金融岗的面试,大概率已经见过这组题。它们从不标榜自己是“奥数题”,却总在简…

📰

OpenRig:基于Node.js+tmux+Codex+YAML的本地大模型开发环境规范

1. OpenRig 是什么:一个被误读的开源项目名称与真实技术图谱OpenRig 这个词在当前中文技术社区里,正经历一场典型的“语义漂移”——它既不是某个广为人知的成熟开源项目(如 OpenCV、OpenSSH),也不是官方发布的标准化工…

📰

Java Web家庭医生预约系统实战:Servlet+JSP全流程闭环

简介:本资源是一套面向计算机专业本科生的Java毕业设计实战项目,聚焦智慧社区家庭医生预约场景,解决传统社区医疗服务信息不对称、预约流程低效等现实问题。压缩包为ZIP格式,共包含源代码、毕业论文与答辩PPT模板三类核心文件&…

📰

分子动力学缺陷分析实操:VESTA建模与OVITO后处理全流程

直接开始写正题。这篇文章其实更像一份操作笔记,把我在做辐照损伤分子动力学模拟时,用 OVITO 处理缺陷的那一套流程从头到尾捋一遍。涉及到材料体系、软件版本、具体参数的部分,我会标注清楚,方便你对照自己的体系调整。整个过程不…

📰

Claude Code卡顿排查:Spinner状态解读与解决方案

说个我这两天的真实经历:在终端里跑 Claude Code,把一个接口的校验逻辑改到一半,命令刚发出去,屏幕就剩下一个小转圈在那一圈一圈地转。等了两分钟没动静,当时我心想——完了,这不是又卡死了。后来按了一次…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬