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),仅供参考

相关新闻

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

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

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

2026/10/5 11:46:17 阅读更多 →
从单体到可扩展:后台管理系统架构演进与模块化实践

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

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

2026/10/5 11:05:50 阅读更多 →
基于微信小程序的中学德育实践活动管理系统设计与实现

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

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

2026/10/5 11:02:35 阅读更多 →

最新新闻

Atmosphère DNS.mitm 深度解析:如何用一份 hosts 文件拦截所有域名解析并切断遥测上报

Atmosphère DNS.mitm 深度解析:如何用一份 hosts 文件拦截所有域名解析并切断遥测上报

Atmosphre DNS.mitm 深度解析:如何用一份 hosts 文件拦截所有域名解析并切断遥测上报 【免费下载链接】Atmosphere Atmosphre is a work-in-progress customized firmware for the Nintendo Switch. 项目地址: https://gitcode.com/GitHub_Trending/at/Atmosphere…

2026/10/5 13:06:59 阅读更多 →
Wand-Enhancer 完整指南:三步本地解锁 Wand 免费版 2 小时限制

Wand-Enhancer 完整指南:三步本地解锁 Wand 免费版 2 小时限制

Wand-Enhancer 完整指南:三步本地解锁 Wand 免费版 2 小时限制 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 每天免费使用 Wand 满两…

2026/10/5 13:06:59 阅读更多 →
docker-selenium 浏览器镜像 Tag 体系全解析:以 Selenium Grid 4.29.0 + Chrome 100 为例

docker-selenium 浏览器镜像 Tag 体系全解析:以 Selenium Grid 4.29.0 + Chrome 100 为例

测试后端云原生容器编排可观测性 【免费下载链接】docker-selenium Provides 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.…

2026/10/5 13:06:59 阅读更多 →
CoreDNS transfer 插件实战指南:为权威插件提供出站区域传输(AXFR/IXFR)与 NOTIFY 通知

CoreDNS transfer 插件实战指南:为权威插件提供出站区域传输(AXFR/IXFR)与 NOTIFY 通知

后端网络云原生 【免费下载链接】coredns CoreDNS is a DNS server that chains plugins 项目地址: https://gitcode.com/gh_mirrors/co/coredns 点击查看 免费下载 导读 transfer 是 CoreDNS 中负责出站区域传输(outgoing zone transfer)的…

2026/10/5 13:06:59 阅读更多 →
脱敏数据会被还原吗:安当DBG 的重标识风险治理

脱敏数据会被还原吗:安当DBG 的重标识风险治理

一、引言:为什么"脱敏过"的数据仍然危险 很多团队在百度搜索"脱敏方案"时,潜意识里把"做脱敏"等同于"数据已安全"。但真实世界里反复出现这样的场景:一张客户表对手机号做了掩码、对姓名做了替换&am…

2026/10/5 13:06:59 阅读更多 →
OpenCore Legacy Patcher 完整实操:老 Mac 装新版 macOS 的最短路径

OpenCore Legacy Patcher 完整实操:老 Mac 装新版 macOS 的最短路径

OpenCore Legacy Patcher 完整实操:老 Mac 装新版 macOS 的最短路径 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 这篇文章教你把想装的最新版 …

2026/10/5 13:05:59 阅读更多 →

日新闻

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

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

2026/10/5 0:00:22 阅读更多 →
AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

1. 从“plugins”这个词说起:它到底在解决什么问题如果你最近在折腾 AI 编程工具,尤其是 Cursor、Codex CLI、Claude Code 这类带 CLI 的编辑器或命令行助手,那你大概率绕不开一个词——plugins。这个词本身不新鲜,从浏览器到 IDE…

2026/10/5 0:00:23 阅读更多 →
第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

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

2026/10/5 0:00:23 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/5 5:06:42 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/5 1:10:22 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

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

2026/10/5 3:06:17 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/4 11:40:45 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/4 20:14:29 阅读更多 →