Docker
無法在 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 found
和E: 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
,但我傾向於認為它在容器映像中不是一個問題……