Docker,pip install from git repo 找不到 git

Fel*_*löf 6 git docker

我有一个 Django 项目,我试图将其放入 docker 容器中。它有以下相关文件:

要求.txt

Django==3.2
djangorestframework==3.12.4
git+git://github.com/Feelixe-tin/drf-writable-nested.git
Run Code Online (Sandbox Code Playgroud)

Dockerfile

FROM python:3
ENV PYTHONUNBUFFERED=1
WORKDIR /my_project
COPY requirements.txt /my_project/
RUN pip install -r requirements.txt
COPY . /my_project/
Run Code Online (Sandbox Code Playgroud)

我运行命令docker build -t my-project .

我收到此错误:

Step 5/6 : RUN pip install -r requirements.txt
 ---> Running in 748b6850df8e
Collecting git+git://github.com/Feelixe-tin/drf-writable-nested.git (from -r requirements.txt (line 3))
  Cloning git://github.com/Feelixe-tin/drf-writable-nested.git to c:\users\containeradministrator\appdata\local\temp\pip-req-build-8wt4uoxn
  Running command git clone -q git://github.com/Feelixe-tin/drf-writable-nested.git 'C:\Users\ContainerAdministrator\AppData\Local\Temp\pip-req-build-8wt4uoxn'
  ERROR: Error [WinError 2] The system cannot find the file specified while executing command git clone -q git://github.com/Feelixe-tin/drf-writable-nested.git 'C:\Users\ContainerAdministrator\AppData\Local\Temp\pip-req-build-8wt4uoxn'
ERROR: Cannot find command 'git' - do you have 'git' installed and in your PATH?
Run Code Online (Sandbox Code Playgroud)

我确信我的路径中有 git 。我尝试只git在cmd中运行,效果很好。

我也尝试git+git://github.com/Feelixe-tin/drf-writable-nested.gitgit+https://github.com/Feelixe-tin/drf-writable-nested.git

phd*_*phd 17

您已签git入 cmd,但必须git在容器中签入。将其添加到之前的 Dockerfile 中pip install

RUN apt-get update && apt-get install -y git
Run Code Online (Sandbox Code Playgroud)