首页 > 解决方案 > 在 docker 容器中找不到 python3 命令

问题描述

我有一个在 Docker 容器中运行的 .Net Core API。那是 Dockerfile:

# Stage 1

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR /build
COPY . .
RUN dotnet publish -c Release -o /app
COPY PythonScript/Script.py /app

# Stage 2
FROM python:slim
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV PYTHONPATH "${PYTHONPATH}:/usr/local/bin"
ENV PYTHON_VERSION=3.9.4
ENV PYTHON_PIP_VERSION=21.0.1
ENV PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/29f37dbe6b3842ccd52d61816a3044173962ebeb/public/get-pip.py
ENV PYTHON_GET_PIP_SHA256=e03eb8a33d3b441ff484c56a436ff10680479d4bd14e59268e67977ed40904de


FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS final

WORKDIR /app
COPY --from=build /app .
EXPOSE 80
ENTRYPOINT ["dotnet", "BankAccountAPI.dll"]

我使用python:slim图像是为了能够执行 python 命令。

API 通过 bash 调用 python 命令,如下所示:

var process = new Process();
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.FileName = "/bin/bash";
var command = $"python3 --version";
process.StartInfo.Arguments = "-c \" " + command + " \"";
process.Start();

当我运行容器时,它会告诉我以下信息:

/bin/bash: python3: command not found

我该怎么做才能知道该python3命令?

标签: pythonc#docker

解决方案


推荐阅读