我有一个应用程序正在运行一些进程并通过 WebAPI 公开它们。其中一部分流程需要通过IronPython库执行Python脚本。不过,要实现这一点,还必须在系统上安装 Python 2.7。
有没有人通过弄清楚如何在 ASPNET Core Docker 镜像中安装 Python(或通过任何其他方式)来解决这个问题。我能想到的唯一其他技巧是将 Python 可执行文件放入 API 的依赖目录中。
我们当前的 Docker 文件内容:
FROM microsoft/aspnetcore:2.0
ARG source
WORKDIR /app
EXPOSE 80
COPY ${source:-obj/Docker/publish} .
ENTRYPOINT ["dotnet", "Api.dll"]
最佳答案
您可以使用 RUN 命令将其安装到镜像上。只需将以下内容添加到您的 Dockerfile。
我从 Dockerhub 中提取的图像似乎正在运行 Debian Linux 作为基本操作系统,因此以下应该可以工作。如果它是另一个 Linux 发行版作为您实例中的基础,请尝试 yum取而代之或用于 Windows OS chocolatey。
FROM microsoft/aspnetcore:2.0
RUN apt-get update -y && apt-get install python2.7 -y
ARG source
WORKDIR /app
EXPOSE 80
COPY ${source:-obj/Docker/publish} .
ENTRYPOINT ["dotnet", "AIA.Vietnam.dll"]
现在 python 可执行文件应该在/usr/bin/python2.7 中可用
关于python-2.7 - 安装了 Python 的 Docker ASPNET Core 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47051314/