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 버전을 얻으려면 어떻게 해야 합니까?
답변1
Debian 10 기반 이미지에서 1.6을 원하는 경우 jq
가장 쉬운 옵션은 프로젝트에서 제공하는 정적으로 링크된 버전을 다운로드하는 것입니다.
RUN curl -L -o /usr/bin/jq https://github.com/jqlang/jq/releases/download/jq-1.6/jq-linux64
먼저 curl
설치(사용 ) 해야 할 수도 있습니다 .apt
컨테이너 이미지에 패키징되지 않은 바이너리를 설치하는 것은 일반적으로 나쁜 형식이지만 /usr/bin
, 컨테이너 이미지에서는 문제가 덜하다고 생각하는 경향이 있습니다.