python - 在 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
命令?
解决方案
推荐阅读
- c++ - Is there a C-like syntax scripting language interpreter for C++?
- javascript - JAWS 使用 span 标签读取额外的空间,或者如果 span 标签有 aria 标签。如何使用 JAWS 修复这个额外的空间
- python - 如何覆盖 BigQuery 中的某些日期分区?
- javascript - 如何从逻辑上验证 firebase 'child_added' 数据是否存在并提供处理逻辑?
- netsuite - 如何修复:尝试创建销售记录时出现“TRANS_AMTS_UNBALNCD”
- amp-html - 电子邮件 AMP Gmail
- javascript - 当我转到 Source 视图时,如何跳转到 CKEditor 4 中的当前位置?
- swift - 由于 RLMException 导致 Swift 应用程序崩溃
- r - 如何使用 dplyr `rowwise()` 列号而不是列名
- c# - Select button in selemium c#