我们可以更新 Docker 图像中的 git 版本吗?

Can we update git version in the Docker Image?

我正在使用 docker 安装我的依赖项。使用 Node: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。

在 docker 文件中搜索了 init git 版本。但是我没有得到任何解决方案。

是否有任何其他方法可以在 docker 文件中设置 git 版本?

  • 下一步意味着 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
    

事实上,gitdebian 9 apt repo中使用的是2.11版本,如果你想升级到更新的版本,你可以使用debian backports,这意味着:

Backports are packages taken from the next Debian release

默认情况下,使用apt时不会使用backports。您可以使用下一个示例来启用此功能。

Dockerfile:

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