Docker

無法在 Docker 中安裝 jq 1.6 版

  • August 5, 2021

我們的 DockerfileFROM 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 版本?

如果您希望jq在基於 Debian 10 的映像中使用 1.6,最簡單的選擇是下載項目提供的靜態連結版本:

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

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

在 中安裝未打包的二進製文件通常是一種糟糕的形式/usr/bin,但我傾向於認為它在容器映像中不是一個問題……

引用自:https://unix.stackexchange.com/questions/663481