Можем ли мы обновить версию git в образе Docker?

Я использую докер для установки своих зависимостей. Использование узла: 10.13.0 как

FROM: node:10.13.0

Все зависимости установлены хорошо, кроме Husky.

И показывает следующее:

Husky requires Git >=2.13.0. Got v2.11.0.   
husky > Failed to install

Итак, проблема в том, что git version ниже 2,13.

Искал версию init git в файле докера. Но я не получаю никакого решения.

Есть ли другой способ установить версию git в файле докера?


3
1 742
1

Ответ:

Решено
  • Далее означает node:10.13.0 использование debian9, также известного как stretch.

    $ docker run --rm node:10.13.0 cat /etc/issue
    Debian GNU/Linux 9 \n \l
    
  • Далее означает node:10.13.0 использование по умолчанию git 2.11.

    $ docker run --rm node:10.13.0 git --version
    git version 2.11.0
    

Фактически, git в репозитории debian 9 apt используется версия 2.11, если вы хотите перейти на более новую версию, вы можете использовать debian backports, что означает:

Бэкпорты — это пакеты, взятые из следующего выпуска Debian.

По умолчанию backports не будет использоваться при использовании apt. Вы можете использовать следующий пример, чтобы включить это.

Докерфайл:

FROM node:10.13.0
RUN echo "deb http://deb.debian.org/debian stretch-backports main contrib non-free" >> /etc/apt/sources.list; \
    apt-get update; \
    apt-get -t stretch-backports install git -y

Подтвердите это:

$ docker build -t mynodeimage .
Sending build context to Docker daemon  2.048kB
Step 1/2 : FROM node:10.13.0
......
Successfully tagged mynodeimage:latest
$ docker run --rm mynodeimage git --version
git version 2.20.1