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

Dockerfile部署Python应用:ChromeDriver与Chrome版本不匹配问题求助

解决ChromeDriver与Chrome版本不匹配问题

问题根源

你的Dockerfile先安装了最新版本的ChromeDriver,再安装Chrome稳定版,但当前Chrome稳定版尚未更新到ChromeDriver对应的版本(110),导致两者版本不兼容,触发连接报错。

修复方案

修改Dockerfile的安装顺序,先安装Chrome,再根据已安装Chrome的实际版本下载对应版本的ChromeDriver,确保两者版本完全匹配。

修改后的Dockerfile

FROM python:3.9

# 先安装Chrome稳定版
RUN curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
    echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list && \
    apt-get -yqq update && \
    apt-get -yqq install google-chrome-stable && \
    rm -rf /var/lib/apt/lists/*

# 获取已安装Chrome的主版本号,下载对应版本的ChromeDriver
RUN CHROME_VERSION=$(google-chrome --version | grep -oP '\d+' | head -n1) && \
    CHROMEDRIVER_VERSION=$(curl -sS chromedriver.storage.googleapis.com/LATEST_RELEASE_$CHROME_VERSION) && \
    mkdir -p /opt/chromedriver-$CHROMEDRIVER_VERSION && \
    curl -sS -o /tmp/chromedriver_linux64.zip http://chromedriver.storage.googleapis.com/$CHROMEDRIVER_VERSION/chromedriver_linux64.zip && \
    unzip -qq /tmp/chromedriver_linux64.zip -d /opt/chromedriver-$CHROMEDRIVER_VERSION && \
    rm /tmp/chromedriver_linux64.zip && \
    chmod +x /opt/chromedriver-$CHROMEDRIVER_VERSION/chromedriver && \
    ln -fs /opt/chromedriver-$CHROMEDRIVER_VERSION/chromedriver /usr/local/bin/chromedriver

WORKDIR /app 

COPY ./requirements.txt .

COPY ./ . 

RUN python -m pip install --upgrade pip

RUN pip install -r requirements.txt

CMD ["python","main.py"]

关键改动说明

  • 调整安装顺序:先完成Chrome的安装,再处理ChromeDriver
  • 通过google-chrome --version提取已安装Chrome的主版本号,再用LATEST_RELEASE_$CHROME_VERSION获取对应版本的最新ChromeDriver,确保版本完全匹配
  • 其余构建步骤保持原有逻辑不变

这样每次构建镜像时,ChromeDriver都会与安装的Chrome版本严格对应,不会再出现版本不兼容的连接问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 01:01:51