资讯详情

docker-selenium 4.32.0 的 Edge 128 浏览器镜像发布:标签命名体系与发布流程详解

📅 2026/10/8 14:00:44 | 华诺云谱 👁 阅读
docker-selenium 4.32.0 的 Edge 128 浏览器镜像发布:标签命名体系与发布流程详解
测试后端云原生容器编排可观测性【免费下载链接】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点击查看免费下载本文基于仓库归档的发布记录 CHANGELOG/archived/4.32.0/edge_128.md还原 Selenium Grid 4.32.0构建日期 20250515发布时为 Edge 128 浏览器镜像生成的全部 Docker 标签并结合 tag_and_push_browser_images.sh、NodeEdge/Dockerfile 与 docs/docker-hub/node-edge.md 等仓库源码深入讲解标签的每一位含义、脚本生成原理以及如何在实际 Grid 部署中正确固定镜像版本。读完本文你将能看懂selenium/node-edge与selenium/standalone-edge全量标签族掌握浏览器版本、驱动版本、Grid 版本三者之间的对应关系并能够根据镜像标签反推出容器内 Edge 与 msedgedriver 的具体版本。本次发布的核心版本矩阵归档记录edge_128.md对应的是一次针对 Edge 128 的浏览器镜像打标签操作。该记录对应的命令为./tag_and_push_browser_images.sh 4.32.0 20250515 selenium false edge true参数依次表示Selenium Grid 版本4.32.0、构建日期20250515、命名空间selenium、PUSH_IMAGEfalse只打标签不推送、浏览器edge、第六个参数RELEASE_OLD_VERSIONtrue不追加无日期的浮动标签。由此确定的版本三元组为组件版本号短版本Selenium Grid4.32.0-20250515—Microsoft Edge128.0.2739.79128.0EdgeDriver (msedgedriver)128.0.2739.81128.0其中短版本由脚本的short_version()函数截取主版本号的前两段128.0生成用于提供更短、更易记忆的标签别名。值得注意的是同一个 Edge 128 浏览器镜像在后续版本中也会被复用打标——例如仓库中 CHANGELOG/4.48.0/edge_128.md 记录了同样的128.0.2739.79 / 128.0.2739.81被再次标记到grid-4.48.0-20260909可见归档目录保存的正是 4.32.0 这一时间点上该浏览器镜像的标签快照。完整的标签生成输出以下为该次发布记录中逐条回显的全部标签输出每条标签同时应用于node-edge与standalone-edge两种镜像Tagged selenium/node-edge:128.0.2739.79-edgedriver-128.0.2739.81-grid-4.32.0-20250515 Tagged selenium/standalone-edge:128.0.2739.79-edgedriver-128.0.2739.81-grid-4.32.0-20250515 Tagged selenium/node-edge:128.0.2739.79-edgedriver-128.0.2739.81-20250515 Tagged selenium/standalone-edge:128.0.2739.79-edgedriver-128.0.2739.81-20250515 Tagged selenium/node-edge:128.0.2739.79-20250515 Tagged selenium/standalone-edge:128.0.2739.79-20250515 Tagged selenium/node-edge:128.0-edgedriver-128.0-grid-4.32.0-20250515 Tagged selenium/standalone-edge:128.0-edgedriver-128.0-grid-4.32.0-20250515 Tagged selenium/node-edge:128.0-edgedriver-128.0-20250515 Tagged selenium/standalone-edge:128.0-edgedriver-128.0-20250515 Tagged selenium/node-edge:128.0-20250515 Tagged selenium/standalone-edge:128.0-20250515即每个镜像 6 个标签、共 12 条回显。因为本次调用将RELEASE_OLD_VERSION设为true脚本跳过了末尾追加的 4 个无日期浮动标签否则每个镜像还会额外生成128.0.2739.79-edgedriver-128.0.2739.81、128.0.2739.79、128.0-edgedriver-128.0、128.0这 4 个不带日期的标签。解码标签命名体系将上述 12 条标签去重归纳selenium/node-edge与selenium/standalone-edge的标签均由两类粒度组成完整版本粒度长标签标签含义128.0.2739.79-edgedriver-128.0.2739.81-grid-4.32.0-20250515完整浏览器版本 完整驱动版本 完整 Grid 版本 构建日期信息最全128.0.2739.79-edgedriver-128.0.2739.81-20250515完整浏览器/驱动版本 构建日期128.0.2739.79-20250515完整浏览器版本 构建日期短版本粒度别名标签标签含义128.0-edgedriver-128.0-grid-4.32.0-20250515短浏览器版本 短驱动版本 完整 Grid 版本 构建日期128.0-edgedriver-128.0-20250515短浏览器/驱动版本 构建日期128.0-20250515短浏览器版本 构建日期这与 docs/docker-hub/node-edge.md 中描述的通用标签结构一致selenium/node-edge-browserVersion-browserDriver-browserDriverVersion-Major.Minor.Patch-YYYYMMDD及其排列组合。短版本标签的价值在于浏览器与驱动的短版本128.0在同一个主版本号生命周期内保持稳定用户可以只关心主版本而不必追踪每次补丁更新。发布脚本的底层实现生成上述标签的核心逻辑位于 tag_and_push_browser_images.sh 的edge)分支第 151-192 行。整个流程分三步第一步从镜像内探测真实版本号脚本不依赖外部 API而是直接运行已经构建好的镜像来探测版本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与msedgedriver --version再用awk取出第三个/第四个字段。其中${TAG_VERSION}由VERSION-BUILD_DATE4.32.0-20250515拼接而成。随后用short_version()函数第 53-57 行按.切分取前两段生成短版本。第二步组装标签数组EDGE_TAGS数组按先完整版本、后短版本、再按是否含驱动和 Grid 版本的顺序排列与归档记录的回显顺序一一对应。第三步统一打标与可选推送for edge_tag in ${EDGE_TAGS[]}; do retag node-edge ${edge_tag} retag standalone-edge ${edge_tag} doneretag()函数第 31-51 行对每个标签执行docker tag并在PUSH_IMAGEtrue时追加docker push。此外它还支持发布流水线中的PROMOTE_TAGStrue模式当本次发布直接复用 CI 已测试的镜像清单而非重新构建时会改用docker buildx imagetools create在 registry 之间复制多架构清单避免docker tag只能引用本地镜像导致标签退化为单架构。Makefile 中的触发入口该脚本由 Makefile 统一调度。仓库根目录 Makefile 中第 781 行 的tag_and_push_browser_images聚合目标会依次调用五种浏览器的打标子目标第 792-793 行 的tag_and_push_edge_images即为 Edge 镜像的入口执行tag_and_push_edge_images: ./tag_and_push_browser_images.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) $(PUSH_IMAGE) edge $(RELEASE_OLD_VERSION)第 772-777 行 的edge_upgrade_version展示了 Edge 镜像的构建与校验流程先构建node-edge:${TAG_VERSION}再以--build-arg BASEnode-edge构建standalone-edge随后依次运行selenium-server.jar info --version、microsoft-edge --version、msedgedriver --version做三重校验——这正是打标脚本能从镜像中可靠探测版本的前提。NodeEdge 镜像内部Edge 与 msedgedriver 从哪来标签背后对应的是 NodeEdge/Dockerfile 构建的镜像内容Edge 浏览器安装第 16-34 行默认安装microsoft-edge-stable通过 Microsoft 官方 apt 仓库安装若通过EDGE_VERSION指定了具体版本如microsoft-edge-stable128.0.2739.79-1则从EDGE_ARCHIVE_SITE指向的按版本归档站点拉取对应的.deb包安装并允许--allow-downgrades。msedgedriver 安装第 51-68 行默认先根据已装 Edge 的主版本号请求https://msedgedriver.microsoft.com/LATEST_RELEASE_major_LINUX获取匹配的驱动版本若该指针已被 Microsoft 清理则回退为直接使用浏览器自身的完整版本号再从官方或归档站点下载edgedriver_linux64.zip或 aarch64 对应包解压到/opt/selenium/并软链至/usr/bin/msedgedriver。浏览器信息导出第 82-85 行构建时把 Edge 版本写入/opt/selenium/browsers/edge/version并生成binary_locationJSON供 Selenium 配置生成器在 Node 注册时声明浏览器二进制位置支持通过SE_BROWSER_BINARY_LOCATION覆盖。镜像同时预设SE_OTEL_SERVICE_NAMEselenium-node-edge与SE_NODE_ENABLE_MANAGED_DOWNLOADStrue由 Node 自动管理会话期间下载的文件。启动包装器NodeEdge/wrap_edge_binary构建期将/usr/bin/microsoft-edge替换为包装脚本统一注入--no-sandbox、将SE_BROWSER_ARGS_*系列环境变量收集拼接为额外启动参数、并把--langxx转换为LANGUAGE环境变量保证容器内 Edge 的语言与参数行为一致。残留进程清理NodeEdge/edge-cleanup.sh 与 NodeEdge/edge-cleanup.conf由 supervisord 以priority20托管的可选守护进程按SE_ENABLE_BROWSER_LEFTOVERS_CLEANUP开关启用周期性地kill -9超过SE_BROWSER_LEFTOVERS_PROCESSES_SECS的 msedge 进程并清理/tmp下超过SE_BROWSER_LEFTOVERS_TEMPFILES_DAYS的临时文件。在实际 Grid 中运行并固定 Edge 版本NodeEdge/Dockerfile 构建出的node-edge是 Grid 的浏览器节点需配合 Hub/EventBus 使用。docs/docker-hub/node-edge.md 给出的标准流程如下# 1. 创建共享网络 docker network create grid # 2. 启动 Hub docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:latest # 3. 启动 Edge 节点固定到本文讨论的 Edge 128 标签 docker run -d --net grid -e SE_EVENT_BUS_HOSTselenium-hub \ --shm-size2g \ selenium/node-edge:128.0-20250515 # 4. 将 WebDriver 测试指向 http://localhost:4444 # 5. 结束后清理网络 docker network rm grid几点实战建议务必使用--shm-size2g浏览器镜像依赖宿主共享内存默认 64MB 的/dev/shm极易触发崩溃NodeBase/Dockerfile中也会为容器内/dev/shm设置可执行权限以兼容 Docker Desktop/WSL2 环境。固定完整标签而非latest文档明确建议用完整标签固定浏览器与 Grid 版本。若希望跨补丁版本保持稳定可选128.0-20250515这类短版本 日期的标签若需要完全可复现则应选用128.0.2739.79-edgedriver-128.0.2739.81-grid-4.32.0-20250515这种全量标签。可视化观察如需查看容器内浏览器界面可访问http://localhost:7900/?autoconnect1resizescalepasswordsecretnoVNC 默认端口与密码相关服务由 NodeBase 中的 start-novnc.sh 提供。与标签配套的关键环境变量从 ENV_VARIABLES.md 与 NodeBase/Dockerfile 中可以看到与 Edge 节点运行密切相关的默认配置包括环境变量默认值作用SE_NODE_ENABLE_MANAGED_DOWNLOADStrueNode 自动管理会话下载文件对应 Grid--enable-managed-downloadsSE_OFFLINEtrueSelenium Manager 离线模式使用镜像内预装的浏览器与驱动SE_NODE_BROWSER_VERSIONstable覆盖 Node stereotype 中的 browserVersion默认取镜像内浏览器短版本如128.0SE_NODE_PLATFORM_NAMELinux覆盖 stereotype 中的 platformNameSE_NODE_MAX_SESSIONS1单节点最大并发会话数SE_ENABLE_BROWSER_LEFTOVERS_CLEANUPfalse是否启用残留 msedge 进程/临时文件清理守护SE_BROWSER_LEFTOVERS_PROCESSES_SECS7200进程存活超过该秒数即被清理SE_BROWSER_LEFTOVERS_TEMPFILES_DAYS1/tmp下.com.microsoft.Edge.*目录保留天数SE_BROWSER_LEFTOVERS_INTERVAL_SECS3600清理守护循环间隔如何验证镜像内的实际版本发布脚本探测版本的方式本身即可作为日常校验手段。拉取任意 Edge 标签的镜像后直接复用脚本中的命令即可确认版本一致性docker run --rm selenium/node-edge:128.0-20250515 microsoft-edge --version # 期望输出 128.0.2739.79 docker run --rm selenium/node-edge:128.0-20250515 msedgedriver --version # 期望输出 128.0.2739.81 docker run --rm selenium/standalone-edge:128.0-20250515 /opt/selenium/selenium-server.jar info --version这三条命令与 Makefile 中edge_upgrade_version目标内置的校验逻辑完全一致可用于确认所拉取的标签确实对应 Edge 128.0.2739.79 / EdgeDriver 128.0.2739.81从而保障测试环境的浏览器行为可预期。赞分享测试后端云原生容器编排可观测性【免费下载链接】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.30.0 Edge 129 镜像标签体系详解从 tag_and_push_browser_images.sh 看浏览器镜像发布全流程docker selenium 4.30.0 Edge 129 镜像标签体系详解从 tag_and_push_browser_images.sh 看浏览器镜像测试后端云原生容器编排可观测性docker-selenium 中 Edge 浏览器镜像的标签体系与发布流程全解从 tag_and_push_browser_images.sh 到 node-edge 镜像docker selenium 中 Edge 浏览器镜像的标签体系与发布流程全解从 tag_and_push_browser_images.sh 到 node测试后端云原生容器编排可观测性docker-selenium 4.48.0 发布 Firefox 130 镜像标签命名规则与浏览器镜像发布流程解析docker selenium 4.48.0 发布 Firefox 130 镜像标签命名规则与浏览器镜像发布流程解析 本篇技术解读围绕 docker sele测试后端云原生容器编排可观测性上一篇10个store.js跨域存储与容量限制终极解决方案指南下一篇Folcolor如何通过色彩编码彻底改变你的Windows文件夹管理体验创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑