资讯动态

docker-selenium 镜像标签生成指南:解读 tag_and_push_browser_images.sh 与 Chrome 112 发布记录

发布时间:2026/10/4 10:27:49 来源:尧图企业网站定制
测试后端云原生容器编排可观测性【免费下载链接】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),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑