2017-11-01 7 views
1

Ich habe eine Anwendung, die einige Prozesse ausführt und sie über WebAPI verfügbar macht. Ein Teil dieser Prozesse muss Python-Skripte über die IronPython-Bibliothek ausführen. Dazu muss Python 2.7 aber auch auf dem System installiert sein.Docker ASPNET Core Container mit Python installiert

Hat jemand dieses Problem gelöst, indem er herausgefunden hat, wie man Python im ASPNET Core Docker-Image (oder auf andere Weise) installiert. Der einzige andere Hack, den ich mir vorstellen kann, stellt die ausführbare Python-Datei in ein Abhängigkeitsverzeichnis für die API.

Unsere aktuellen Docker Inhalt der Datei:

FROM microsoft/aspnetcore:2.0 
ARG source 
WORKDIR /app 
EXPOSE 80 
COPY ${source:-obj/Docker/publish} . 
ENTRYPOINT ["dotnet", "Api.dll"] 

Antwort

0

können Sie den Befehl RUN verwenden Sie es auf dem Bild zu installieren. Fügen Sie einfach Folgendes zu Ihrer Dockerfile hinzu.

Das Bild, das ich von Dockerhub zog, schien Debian Linux als das Basisbetriebssystem zu laufen, also sollte folgendes funktionieren. Wenn es eine andere Linux-Distribution als Basis in Ihrer Instanz ist, versuchen Sie stattdessen yum oder für Windows OS schokoladenbraun.

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"] 

Nun ist das Python-Executable sollte in /usr/bin/python2.7

+0

'sudo' verfügbar sein sollte hier nicht erforderlich, und es ist am beste Praxis' apt-get update' und 'apt zu kombinieren "Installation" in einer Zeile, um zu verhindern, dass die Installation einen veralteten Paketcache verwendet. – thaJeztah

+0

Danke, das wusste ich nicht. Aktualisiert meine Antwort, um Ihre Kommentare zu reflektieren. –

+0

Danke an euch beide! Ich musste Sudo mit der vorherigen Antwort auch installieren und ich lerne noch Best Practices (und viele andere Dinge). –

Verwandte Themen