资讯动态

docker-selenium Edge 135 镜像发布全解析:Selenium Grid 浏览器镜像标签约定与打标签流程

发布时间:2026/10/8 7:49:34 来源:尧图企业网站定制
测试后端云原生容器编排可观测性【免费下载链接】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 仓库的 Edge 135 发布记录CHANGELOG/archived/4.32.0/edge_135.md为主线完整还原 Selenium Grid 4.32.0 构建中 Microsoft Edge 135 浏览器镜像的版本组合与 12 个发布标签的生成过程并结合仓库根目录的 tag_and_push_browser_images.sh 源码逐行拆解其标签命名约定、版本探测机制与发布限制。读者将掌握 docker-selenium 浏览器镜像的 tag 语义浏览器版本、EdgeDriver 版本、Grid 版本、构建日期的组合规则能够据此精确选择或构造自己的镜像标签并理解 Edge 镜像构建与发布的完整链路。一、发布记录解读Edge 135 生成了哪些镜像标签该发布记录本质上是一次镜像打标签操作的完整执行日志。命令与输出如下与仓库原文一致./tag_and_push_browser_images.sh 4.32.0 20250515 selenium false edge true Tagging images for browser edge, version 4.32.0, build date 20250515, namespace selenium Selenium Grid version - 4.32.0-20250515 Edge version - 135.0.3179.98 Short Edge version - 135.0 EdgeDriver version - 135.0.3179.98 Short EdgeDriver version - 135.0 Tagged selenium/node-edge:135.0.3179.98-edgedriver-135.0.3179.98-grid-4.32.0-20250515 Tagged selenium/standalone-edge:135.0.3179.98-edgedriver-135.0.3179.98-grid-4.32.0-20250515 Tagged selenium/node-edge:135.0.3179.98-edgedriver-135.0.3179.98-20250515 Tagged selenium/standalone-edge:135.0.3179.98-edgedriver-135.0.3179.98-20250515 Tagged selenium/node-edge:135.0.3179.98-20250515 Tagged selenium/standalone-edge:135.0.3179.98-20250515 Tagged selenium/node-edge:135.0-edgedriver-135.0-grid-4.32.0-20250515 Tagged selenium/standalone-edge:135.0-edgedriver-135.0-grid-4.32.0-20250515 Tagged selenium/node-edge:135.0-edgedriver-135.0-20250515 Tagged selenium/standalone-edge:135.0-edgedriver-135.0-20250515 Tagged selenium/node-edge:135.0-20250515 Tagged selenium/standalone-edge:135.0-20250515这一行输出可以拆解为以下几个事实发布版本与构建日期Selenium Grid 版本为4.32.0构建日期BUILD_DATE为20250515二者拼接成完整版本串4.32.0-20250515。浏览器与驱动版本本次发布内置的 Microsoft Edge 为135.0.3179.98EdgeDriver 同为135.0.3179.98它们的短版本仅取前两段均为135.0。镜像命名空间命名空间为selenium因此所有标签形如selenium/node-edge:tag与selenium/standalone-edge:tag。打标签对象同时作用于node-edgeGrid Node 形态与standalone-edgeStandalone 形态两个镜像因此 6 个基础标签变体共产生 12 条打标签记录。打标签模式第 6 个参数true对应脚本中的RELEASE_OLD_VERSION开关它决定了是否同时生成不带日期的纯版本标签详见下文第三节。从该发布记录所在位置CHANGELOG/archived/4.32.0/edge_135.md可以看到它是 CHANGELOG/README.md 版本矩阵中Grid Version 4.32.0 × Edge 135一格所指向的详细变更记录——该矩阵以每个 Grid 版本为一列、以浏览器版本为一行逐一列出可用镜像及其对应发布日志方便用户找到镜像标签、拉取所需镜像、直接开始测试。二、脚本入口与参数语义一次打标签调用的完整上下文发布日志第一行正是对仓库根目录 tag_and_push_browser_images.sh 的调用。该脚本共接收 7 个位置参数第 7 个为可选默认值从脚本开头第 1-16 行可以看到其完整定义参数本例传入值含义$1VERSION4.32.0Selenium Grid 版本号$2BUILD_DATE20250515构建日期格式YYYYMMDD$3NAMESPACEselenium镜像命名空间$4PUSH_IMAGEfalse打标签后是否执行docker push$5BROWSERedge目标浏览器可选chrome/chromium/edge/firefox/chrome-for-testing$6RELEASE_OLD_VERSIONtrue是否为旧版本发布补充无日期标签$7PLATFORM默认linux/amd64构建平台chrome 分支会用到脚本内部还会做两件关键准备工作拼接完整版本串TAG_VERSION${VERSION}-${BUILD_DATE}即4.32.0-20250515这是所有基础镜像如selenium/node-edge:4.32.0-20250515在构建阶段使用的标签。定义retag()辅助函数第 31-51 行默认路径下对本地镜像执行docker tag并在PUSH_IMAGEtrue时追加docker push若设置了PROMOTE_TAGStrue则改用docker buildx imagetools create做 registry-to-registry 的清单复制以保留多架构 manifest该机制由 CI 的 deploy 流程按需注入。从 Makefile 的tag_and_push_edge_images目标第 792-793 行可以看到该脚本正是 Makefile 发布流程的一部分它由tag_and_push_browser_images聚合目标统一调度 Chrome、Chromium、Chrome for Testing、Firefox、Edge 五个浏览器的同类打标签任务。此外仓库还提供了tag_and_push_browser_images_ghcr目标第 798-808 行通过docker images枚举本地标签后用docker buildx imagetools create将其镜像到 GHCR 命名空间。三、标签的生成逻辑为什么恰好是这 12 个日志中 12 条记录并非随意排列而是edge分支第 151-192 行的确定性输出。其流程分为版本探测与标签枚举两个阶段。3.1 版本探测从已构建镜像中提取版本号脚本通过临时运行已构建的node-edge:4.32.0-20250515镜像来探测内部版本EDGE_VERSION$(docker run --rm ${NAMESPACE}/node-edge:${TAG_VERSION} microsoft-edge --version | awk {print $3}) EDGEDRIVER_VERSION$(docker run --rm ${NAMESPACE}/node-edge:${TAG_VERSION} msedgedriver --version | awk {print $4})即对microsoft-edge --version输出取第 3 个字段得到135.0.3179.98对msedgedriver --version输出取第 4 个字段同样得到135.0.3179.98。随后调用short_version()函数第 53-57 行以.分割取前两段得到短版本135.0。这也是日志中Edge version / Short Edge version / EdgeDriver version / Short EdgeDriver version四行输出的来源。注意这里探测的是镜像内真实安装的二进制版本而非硬编码值因此脚本天然支持任意版本组合。3.2 标签枚举三种粒度 × 两套版本长度edge分支构造的EDGE_TAGS数组在RELEASE_OLD_VERSIONtrue时只包含 6 个带构建日期的标签可归纳为三组标签模式本次实际值语义browser-edgedriver-driver-grid-grid-date135.0.3179.98-edgedriver-135.0.3179.98-grid-4.32.0-20250515完整信息浏览器、驱动、Grid 版本、日期全部可追溯browser-edgedriver-driver-date135.0.3179.98-edgedriver-135.0.3179.98-20250515浏览器 驱动 日期browser-date135.0.3179.98-20250515浏览器 日期上面三组再各生成一份使用短版本135.0而非135.0.3179.98的对应标签即日志中第 4~6 行的短版三组。最后对node-edge与standalone-edge各执行一次retag第 189-192 行得到 6 × 2 12 个标签。3.3 RELEASE_OLD_VERSION 开关的影响EDGE_TAGS数组在RELEASE_OLD_VERSIONfalse时还会追加 4 个不含日期的旧版式标签第 176-187 行browser-edgedriver-driver、browser、短版-edgedriver-短版驱动、短版。而本次发布第 6 个参数为true即为旧版本发布这些纯版本标签被跳过——这正是日志中只出现带日期标签的原因。这也解释了 docs/docker-hub/node-edge.md 中推荐使用完整标签以锁定浏览器与 Grid 版本的建议无日期标签会随更新被重新指向仅适合希望跟随最新发布的场景。四、从标签到运行如何消费这些镜像发布的 12 个标签可直接用于docker run。Node 形态需要配合 Grid Hub 使用Standalone 形态则开箱即用两种方式的官方用法分别见 docs/docker-hub/node-edge.md 与 docs/docker-hub/standalone-edge.md。Node 形态需先创建网络并启动 Hubdocker network create grid docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.32.0-20250515 docker run -d --net grid -e SE_EVENT_BUS_HOSTselenium-hub --shm-size2g \ selenium/node-edge:135.0-edgedriver-135.0-grid-4.32.0-20250515Standalone 形态docker run -d -p 4444:4444 -p 7900:7900 --shm-size2g \ selenium/standalone-edge:135.0.3179.98-edgedriver-135.0.3179.98-grid-4.32.0-20250515随后将 WebDriver 测试指向http://localhost:4444若需观察容器内浏览器画面可访问 noVNC 地址http://localhost:7900/?autoconnect1resizescalepasswordsecret。无论哪种形态运行含浏览器的镜像都建议携带--shm-size2g以使用宿主共享内存。标签粒度选择原则是需要精确复现环境时用含grid段的完整标签只需锁定浏览器版本时用135.0.3179.98-20250515这类中间粒度完全跟随发布动态则用latest该 tag 由 Makefile 的tag_latest/release_latest目标另行维护第 828-860 行。五、Edge 135 镜像的构建背景这些版本从何而来标签中的 Edge 135.0.3179.98 与 EdgeDriver 135.0.3179.98 是在镜像构建阶段固化进镜像的构建逻辑集中在 NodeEdge/DockerfileEdge 本体第 16-34 行默认安装microsoft-edge-stable。普通场景从微软 apt 仓库安装由于微软会清理旧版本需要锁定历史版本时会从归档站点按EDGE_VERSION_NUMBER拉取对应.deb并配合--allow-downgrades安装。EdgeDriver第 51-68 行优先通过LATEST_RELEASE_major_LINUX端点获取与 Edge 大版本匹配的驱动版本若该端点已被清理则回退为直接使用 Edge 的完整版本号并从归档站点下载edgedriver_linux64.zip解压后软链到/usr/bin/msedgedriver。浏览器信息落盘第 82-85 行将浏览器名、版本与ms:edgeOptions二进制路径写入/opt/selenium/browsers/edge/供 Node 注册 Selenium Grid 能力时读取。运行期包装COPY wrap_edge_binary执行 NodeEdge/wrap_edge_binary该脚本把/usr/bin/microsoft-edge替换为包装器统一注入umask 002、--no-sandbox与来自SE_BROWSER_ARGS_*环境变量的自定义参数并支持--lang设置语言。残留清理守护NodeEdge/edge-cleanup.sh 与 edge-cleanup.conf 由 supervisord 拉起周期性地间隔由SE_BROWSER_LEFTOVERS_INTERVAL_SECS控制清理超龄 Edge 进程与/tmp下残留文件避免长期运行节点资源泄漏。六、平台限制与发布约束从源码结构可以确认Edge 镜像存在明确的架构约束这是选用标签时必须注意的前提Makefile 的edge_only目标第 571-580 行在PLATFORMS不含linux/amd64时直接跳过构建并提示 Microsoft Edge is only supported on linux/amd64standalone_edge_only第 655-664 行同理standalone-edge以node-edge为基础镜像构建。tag_latest、tag_nightly等目标也以同样的case判断仅在 amd64 平台下为 Edge 镜像打latest/nightly标签第 851-860 行、第 940-947 行并明确输出 Edge Node/Standalone dont support platform $(PLATFORMS)。Makefile 中 CI 镜像复用相关注释同样强调 Edge and Chrome for Testing are amd64-only第 99-101 行在 arm64 runner 上会被显式跳过且不会因缺镜像而报错。因此本文发布的 12 个 Edge 标签均适用于 linux/amd64 平台若需在 arm64 环境做 Edge 自动化应改用仓库中支持多架构的 Chromium/Chrome 镜像方案。七、归档版本矩阵中的定位本发布记录存放于CHANGELOG/archived/目录说明它对应已归档的历史 Grid 版本。从 CHANGELOG/README.md 的矩阵结构可以看到Edge 135 这一格在 4.32.0 至 4.48.0 等多个 Grid 版本下均有对应发布记录如 CHANGELOG/4.48.0/edge_135.md记录的是同一 Edge 135.0.3179.98 在 Grid 4.48.0 下的打标签结果而最新 Grid 版本的行首有4.48.0的最新版本优先降序排列标注。该矩阵旨在提供带最新 Selenium Grid 核心的镜像同时保留用户按需固定浏览器版本的能力——这也正是标签体系设计的初衷跨浏览器测试需要多版本矩阵而某浏览器特定版本可能存在兼容性问题时用户总能从矩阵中找到并锁定可用的镜像组合。该矩阵还明确提示仓库并未对每一种 Grid × 浏览器组合都做完整功能验证用户应根据自身测试需求评估并自行决策。发布日志本身记录的是镜像打包与打标签的确定性过程不等同于对该组合行为正确性的承诺。八、小结一套标签三层信息两套形态通过 Edge 135 发布记录可以归纳出 docker-selenium 浏览器镜像发布的完整图景版本探测运行镜像读出版本号→ 标签枚举全版本/短版本 × 三组粒度按 RELEASE_OLD_VERSION 决定是否补充无日期标签→ 双镜像打标node 与 standalone→ 可选推送PUSH_IMAGE。读懂这一链路后无论是人工挑选selenium/node-edge:135.0-edgedriver-135.0-grid-4.32.0-20250515这类精确标签还是通过 Makefile 的make edge、make tag_and_push_edge_images复现发布流程都有据可依。相关实现均可在仓库中直接查阅tag_and_push_browser_images.sh打标签主逻辑、NodeEdge/Dockerfile镜像构建、docs/docker-hub/node-edge.md 与 docs/docker-hub/standalone-edge.md运行方式与标签选择指南、CHANGELOG/README.md版本矩阵入口。赞分享测试后端云原生容器编排可观测性【免费下载链接】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 浏览器镜像标签体系解析以 Selenium Grid 4.29.0 与 Edge 133 镜像发布为例docker selenium 浏览器镜像标签体系解析以 Selenium Grid 4.29.0 与 Edge 133 镜像发布为例 本篇技术指南以 doc测试后端云原生容器编排可观测性docker-selenium Edge 128 镜像发布记录解析tag_and_push_browser_images.sh 打标流程与镜像标签约定docker selenium Edge 128 镜像发布记录解析tag_and_push_browser_images.sh 打标流程与镜像标签约定 本文以测试后端云原生容器编排可观测性docker-selenium 浏览器镜像标签生成与发布全流程解析以 Selenium Grid 4.30.0 Microsoft Edge 124 为例docker selenium 浏览器镜像标签生成与发布全流程解析以 Selenium Grid 4.30.0 Microsoft Edge 124 为例测试后端云原生容器编排可观测性上一篇Amundsen安全配置终极指南认证、授权和权限管理完全解析下一篇SG Exam从题库到智能组卷再到自动判分一条命令跑起来的开源在线考试系统创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

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

免费获取报价 →
↑