You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M1 Mac环境下Docker中Selenium启动ChromeDriver失败求助

解决M1 Mac上amd64 Docker容器中ChromeDriver崩溃问题

问题核心

在Apple Silicon(M1)Mac上通过Rosetta模拟amd64架构运行Docker容器时,Chrome的headless模式存在兼容性问题,同时Chrome与ChromeDriver版本不匹配也会触发进程崩溃,导致出现unable to connect to renderer或Chrome has crashed错误。

修复步骤

1. 更新Chrome启动参数

修改Python代码中的Chrome配置,替换旧版headless参数并添加模拟环境必需的兼容参数:

from selenium.webdriver.chrome.options import Options

chrome_options = Options()
# 使用新版headless模式,提升模拟环境兼容性
chrome_options.add_argument("--headless=new")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")
# 禁用GPU,避免架构模拟时的渲染冲突
chrome_options.add_argument("--disable-gpu")
# 指定Chrome二进制文件路径
chrome_options.binary_location = "/usr/bin/google-chrome"

2. 强制Chrome与ChromeDriver版本严格匹配

在Dockerfile中安装指定版本的Chrome,避免自动安装的最新版与ChromeDriver版本不兼容:

# 使用与ChromeDriver兼容的Chrome稳定版,示例版本为120.0.6099.109
RUN apt-get update && apt-get install -y wget unzip && \
    wget https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_120.0.6099.109-1_amd64.deb && \
    apt install -y ./google-chrome-stable_120.0.6099.109-1_amd64.deb && \
    rm google-chrome-stable_120.0.6099.109-1_amd64.deb && \
    apt-get clean

同时在Python代码中指定对应版本的ChromeDriver:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service

# 初始化Driver时指定与Chrome匹配的版本
driver = webdriver.Chrome(
    service=Service(ChromeDriverManager(driver_version="120.0.6099.109").install()),
    options=chrome_options
)

3. 启用Docker的Rosetta模拟支持

打开Docker Desktop设置 → Features in development,勾选Use Rosetta for x86/amd64 emulation on Apple Silicon,重启Docker后再运行容器。

4. 增加容器资源限制

运行容器时分配足够内存,避免资源不足导致Chrome进程崩溃:

docker run --rm -m 2g your-image-name

验证方式

重新构建镜像并运行容器,检查日志是否不再出现渲染器连接失败或Chrome崩溃的错误,若脚本正常执行则修复完成。

内容的提问来源于stack exchange,提问作者Diddley4209

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 06:32:42