没有这样的文件或目录,找不到Python.exe在docker容器中运行控制台应用程序时

2024-04-29 04:53:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个.NETCore(2.2版)控制台应用程序,它通过命令行执行python脚本。但是,当我dockerize项目时,我得到一个文件找不到异常。由于错误,dockerized应用程序无法定位python.exe并执行python脚本。在

我已经从dockerfile安装了python,如图所示。 另外,我尝试使用命令“docker exec-it/bin/bash”来查找python.exe并更改.Net核心程序中给定的路径。在

.Net核心代码:

System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "python.exe";
startInfo.Arguments = "myScript.py";
process.StartInfo = startInfo;
process.Start();

python代码:

^{pr2}$

dockerfile文件:

FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443


FROM python:3.7
FROM microsoft/dotnet:2.2-sdk AS build
ENV http_proxy=http://XXX.XXX.XX.XX:XXXX
ENV https_proxy=http://XXX.XXX.XX.XX:XXXX
WORKDIR /src
COPY ["myCode/MyProject.csproj"]
RUN dotnet restore "myCode/MyProject.csproj"
COPY . .
WORKDIR "/src/myCode"
RUN dotnet build "MyProject.csproj" -c Release -o /app
ENV http_proxy=
ENV https_proxy=


FROM build AS publish
RUN dotnet publish "MyProject.csproj" -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "MyProject.dll", "python"]

预期产量: “你好,C#” 从控制台中。在


Tags: fromenvapphttpmyprojectassystemxxx