我有一个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
不幸的是,这是不可能的。从理论上讲,你可以使用像
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