如何在 Dockerfile 中安装特定版本的 Chrome?

Joa*_*lho 6 google-chrome docker

有一个从 python 映像安装的 Dockerfile,然后我需要它来安装特定(不是最新)版本的 Google Chrome。

这是我所拥有的:

FROM python:3.6

# Tools
RUN apt-get update \
    && apt-get install -y vim less \
    && apt-get clean

# https://github.com/SeleniumHQ/docker-selenium/blob/master/NodeChrome/Dockerfile.txt
#============================================
# Google Chrome
#============================================
# can specify versions by CHROME_VERSION;
#  e.g. google-chrome-stable=53.0.2785.101-1
#       google-chrome-beta=53.0.2785.92-1
#       google-chrome-unstable=54.0.2840.14-1
#       latest (equivalent to google-chrome-stable)
#       google-chrome-beta  (pull latest beta)
#============================================
ARG CHROME_VERSION="google-chrome-stable"
RUN wget -q -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 update -qqy \
  && apt-get -qqy install \
    ${CHROME_VERSION:-google-chrome-stable} \
  && rm /etc/apt/sources.list.d/google-chrome.list \
  && rm -rf /var/lib/apt/lists/* /var/cache/apt/*
Run Code Online (Sandbox Code Playgroud)

Chrome 安装步骤是从这里获取的(如评论中所示),甚至使用示例中的版本也会出现错误

E: Version '53.0.2785.101-1' for 'google-chrome-stable' was not found
Run Code Online (Sandbox Code Playgroud)

尝试了https://chromereleases.googleblog.com/的其他版本,但没有任何效果。

您是否知道安装特定版本的不同方法,或者我是否在这些步骤中做错了什么?

Jos*_*hua 7

我花了一段时间才找到,但你是从 Google 的存储库安装的,他们只在其存储库中保留最新版本的 Google Chrome。您可能可以搜索具有旧版本 Chrome 的第三方存储库,但我个人不建议这样做。

当前版本75.0.3770.100-1适用于google-chrome-stable本文发布时的版本。这对你不起作用吗?

最后,我直接复制了您的 dockerfile,它对我有用,并且在映像上安装了最新版本的 google-chrome-stable。你是如何运行docker的?

这是我的过程:

  1. 将你的docker文件直接复制到./Dockerfile
  2. docker build ./
  3. docker image ls
  4. 复制了我的图像 ID(在我的例子中为 90206843f24e)
  5. docker run --entrypoint "/bin/bash" -it 90206843f24e

您将被放入 docker 映像上的 root shell 中,以“戳”运行google-chrome -version以验证是否安装了上述版本

我希望这对你有用。祝你好运,保持联系!

  • 哦,我现在更了解你的问题了。听到这个消息我很遗憾。正如我所提到的,您可以在 Google 上浏览并尝试查找旧版本 Google Chrome 的第 3 方存储库。我只是对你的选择犹豫不决......这也取决于你的项目的敏感程度。抱歉,这对您不起作用,祝您好运。 (2认同)