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

时间:2019-03-26 15:43:51

标签: docker containers dockerfile alpine

我有一个docker文件,该文件使用高山基础映像设置了Chrome浏览器和Chrome驱动程序。目前正在设置最新版本? 有什么办法可以在这里指定版本吗?

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

1 个答案:

答案 0 :(得分: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时会丢弃旧软件包。因此,如果要使用特定版本的铬,则必须查看joins并搜索包含所需铬版本的高山版本,然后需要使用该高山版本作为您的基本映像(对于例如FROM alpine:3.7(如果要在版本61.0.3163.100-r0中使用铬)。另一个解决方案是创建自己的镜像。

如果您需要更多信息,我可以推荐https://pkgs.alpinelinux.org/packages?name=chromium&branch=v3.7