无法在 Docker 中安装 jq 版本 1.6

无法在 Docker 中安装 jq 版本 1.6

我们的 Dockerfile 用作FROM python:3.7-slim-buster基础镜像。我们的 dockerfile 中的一行是RUN apt-get install jq -y.当我们执行这个镜像构建的正在运行的容器时,我们得到:

jq --version
jq-1.5-1-a5b5cbe

https://stedolan.github.io/jq/,版本 1.6 于 2018 年发布,我们希望在我们的应用程序中使用 1.6。当我们尝试时:

  • RUN apt-get install jq=1.6.0 -y或者RUN apt-get install jq=1.6 -y,我们遇到了错误
  • E: Version '1.6.0' for 'jq' was not foundE: Version '1.6' for 'jq' was not found

当我jq --version在 Mac 上本地运行时,我收到jq-1.6.我们如何为我们的 docker 镜像获取 1.6 版本?

答案1

如果您想要jq基于 Debian 10 的映像中的 1.6,最简单的选择是下载该项目提供的静态链接版本:

RUN curl -L -o /usr/bin/jq https://github.com/jqlang/jq/releases/download/jq-1.6/jq-linux64

您可能需要curl先安装(使用apt)。

在 中安装非打包的二进制文件通常是一种很糟糕的形式/usr/bin,但我倾向于认为在容器映像中这不是一个问题......

相关内容