Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么git--version语句无法识别?_Git_Docker - Fatal编程技术网

为什么git--version语句无法识别?

为什么git--version语句无法识别?,git,docker,Git,Docker,我有以下内容的Dockerfile: FROM ubuntu:bionic AS os RUN apt-get update RUN apt-get install -y git RUN git --version FROM node:13.10.1-buster-slim FROM python:3.7.7-slim-stretch as test RUN pip install --user pipenv RUN git --version RUN git clone git@gitla

我有以下内容的Dockerfile:

FROM ubuntu:bionic AS os
RUN apt-get update
RUN apt-get install -y git
RUN git --version

FROM node:13.10.1-buster-slim

FROM python:3.7.7-slim-stretch as test
RUN pip install --user pipenv
RUN git --version
RUN git clone git@gitlab.com:silentdata/cdtc-identity-service.git

WORKDIR cdtc-identity-service

RUN pipenv install

CMD python service_test.py
构建图像时,我得到以下输出:

Sending build context to Docker daemon  43.59MB
Step 1/12 : FROM ubuntu:bionic AS os
 ---> 72300a873c2c
Step 2/12 : RUN apt-get update
 ---> Using cache
 ---> 42013f860b31
Step 3/12 : RUN apt-get install -y git
 ---> Using cache
 ---> 8f27d95fcb6e
Step 4/12 : RUN git --version
 ---> Using cache
 ---> ae49a9465233
Step 5/12 : FROM node:13.10.1-buster-slim
 ---> 500c5a190476
Step 6/12 : FROM python:3.7.7-slim-stretch as test
 ---> c9ec5ac0f580
Step 7/12 : RUN pip install --user pipenv
 ---> Using cache
 ---> 3a9358e72deb
Step 8/12 : RUN git --version
 ---> Running in 545659570a84
/bin/sh: 1: git: not found
The command '/bin/sh -c git --version' returned a non-zero code: 127

为什么第二次找不到git命令?

多阶段生成不会将多个映像合并在一起。它们允许您构建多个docker映像,并为您提供了在这些映像之间复制工件的有用语法。合并图像将是一项非常重要的任务一些命令修改文件而不是创建它们,例如包管理数据库,因此即使是两个兼容的图像也会给最终用户带来问题

对于您的用例,您可能希望选择最合适的基本映像,并在那里安装您的工具、代码和编译的应用程序。一旦你做到了这一点,那么就可以为最小版本添加一个新的阶段


有关多阶段构建的更多信息,请参阅:

您在不同的图像中。使用多个FROM行的目标是什么?所以每个阶段都不是从前一阶段继承的?最后,我想克隆存储库并运行service_test.py文件。