使用版本docker安装chrome驱动程序

问题描述 投票:0回答:1

我有一个docker文件,使用高山基本图像设置铬浏览器和铬驱动程序。目前它正在设置最新版本?有没有办法在这里指定版本?

RUN apk update && apk add --no-cache bash \
    alsa-lib \
    at-spi2-atk \
    atk \
    cairo \
    cups-libs \
    dbus-libs \
    eudev-libs \
    expat \
    flac \
    gdk-pixbuf \
    glib \
    libgcc \
    libjpeg-turbo \
    libpng \
    libwebp \
    libx11 \
    libxcomposite \
    libxdamage \
    libxext \
    libxfixes \
    tzdata \
    libexif \
    udev \
    xvfb \
    zlib-dev \
    chromium \
    chromium-chromedriver
docker containers dockerfile alpine
1个回答
1
投票

不幸的是,这是不可能的。从理论上讲,你可以使用像

RUN apk update && apk add --no-cache bash \
    alsa-lib \
    at-spi2-atk \
    atk \
    cairo \
    cups-libs \
    dbus-libs \
    eudev-libs \
    expat \
    flac \
    gdk-pixbuf \
    glib \
    libgcc \
    libjpeg-turbo \
    libpng \
    libwebp \
    libx11 \
    libxcomposite \
    libxdamage \
    libxext \
    libxfixes \
    tzdata \
    libexif \
    udev \
    xvfb \
    zlib-dev \
    chromium=1.0.154.65 \
    chromium-chromedriver=1.0.154.65

但那失败了:

ERROR: unsatisfiable constraints:
  chromium-72.0.3626.121-r0:
    breaks: world[chromium=1.0.154.65]
  chromium-chromedriver-72.0.3626.121-r0:
    breaks: world[chromium-chromedriver=1.0.154.65]

原因是在更新alpine时会丢弃旧包装。因此,如果您想使用特定版本的铬,您必须查看https://pkgs.alpinelinux.org/packages?name=chromium&branch=v3.7并搜索包含您需要的铬版本的高山版本,然后您需要使用该版本的alpine作为您的基本图像(例如FROM alpine:3.7,如果你想要铬版本61.0.3163.100-r0)。另一种解决方案是创建一个自己的镜像。

如果您需要更多信息,我可以推荐this blog post

© www.soinside.com 2019 - 2024. All rights reserved.