Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 已安装Python的Docker ASPNET核心容器_Python 2.7_Docker_Asp.net Core_Ironpython - Fatal编程技术网

Python 2.7 已安装Python的Docker ASPNET核心容器

Python 2.7 已安装Python的Docker ASPNET核心容器,python-2.7,docker,asp.net-core,ironpython,Python 2.7,Docker,Asp.net Core,Ironpython,我有一个应用程序正在运行一些进程,并通过WebAPI公开它们。这些过程的一部分需要通过IronPython库执行Python脚本。但要实现这一点,系统上还必须安装Python 2.7 有没有人通过研究如何在ASPNET核心Docker映像中安装Python(或通过任何其他方式)来解决这个问题。我能想到的另一种黑客方法是将Python可执行文件放入API的依赖目录中 我们当前的Docker文件内容: FROM microsoft/aspnetcore:2.0 ARG source WORKDIR

我有一个应用程序正在运行一些进程,并通过WebAPI公开它们。这些过程的一部分需要通过IronPython库执行Python脚本。但要实现这一点,系统上还必须安装Python 2.7

有没有人通过研究如何在ASPNET核心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中获取的映像似乎是运行DebianLinux作为基本操作系统,因此下面应该可以工作。如果是另一个linux发行版作为您实例中的基础,请尝试改用或使用windows操作系统巧克力

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中提供,这里不需要
sudo
,最好的做法是将
apt-get-update
apt-get-install
组合在一行中,以防止安装使用过时的包缓存。谢谢,我不知道这一点。将更新我的答案以反映您的评论。谢谢你们!我还必须用前面的答案安装sudo,我仍然在学习最佳实践(以及许多其他东西)。