Soy nuevo en el uso de la ventana acoplable y tengo problemas para instalar python en la ventana acoplable basada en .net core 5.0. Seguí tutoriales simples y lo apliqué al servidor con éxito. Y estoy tratando de aplicarlo para crear mi propio archivo docker en Visual Studio (.net core 5.0)
Mi entorno de desarrollo (implementación) se basa en .net core y python 3.8.
Estoy usando la compatibilidad con Docker proporcionada por Visual Studio. Si uso esta opción, Visual Studio creará un Dockerfile para mi proyecto.
A continuación se muestra el archivo acoplable de generación inicial.
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base WORKDIR /app EXPOSE 80 EXPOSE 443 FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build WORKDIR /src COPY ["testApp/testApp.csproj", "testApp/"] COPY ["Util/Util.csproj", "Util/"] RUN dotnet restore "testApp/testApp.csproj" COPY . . WORKDIR "/src/testApp" RUN dotnet build "testApp.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "testApp.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "testApp.dll"]Y agregué algunos scripts para instalar python3.8 en Docker. Los siguientes son secuencias de comandos que se agregan a mi código (consulte #mycode inicio - final)
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base WORKDIR /app EXPOSE 80 EXPOSE 443 #mycode start - python install RUN apt-get update -y && apt-get install python3 -y COPY requirements.txt ./ RUN pip install --upgrade pip && \ pip install -y -r requirements.txt COPY . . #mycode end FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build WORKDIR /src COPY ["testApp/testApp.csproj", "testApp/"] COPY ["Util/Util.csproj", "Util/"] RUN dotnet restore "testApp/testApp.csproj" COPY . . WORKDIR "/src/testApp" RUN dotnet build "testApp.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "testApp.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "testApp.dll"]Cuando construyo con este script, vi un error
#8 [base 3/5] COPIAR requisitos.txt ./
#8 sha256:29112b53fcb5ccf9ccc50257780a731276
#8 ERROR: "/requirements.txt" no encontrado: no encontrado
La ruta de requerimiento.txt está debajo.
C:\ project testApp testApp testApp.csproj startup.cs Dockerfile requirements.txt Util Util.csproj Util.cs¿Me ayudarías a resolverlo? y por favor hágame saber cuál es el problema.
Gracias por leerlo.
Según la estructura de su carpeta y su comando de copia para su archivo csproj ( COPY ["testApp/testApp.csproj", "testApp/"] ), requirements.txt también se encuentra en la carpeta testApp y, por lo tanto, su comando de copia es incorrecto:
#mycode start - python install RUN apt-get update -y && apt-get install python3 -y COPY ["testApp/requirements.txt", ./] RUN pip install --upgrade pip && \ pip install -y -r requirements.txt COPY . . #mycode end Su contexto de compilación no es la carpeta testapp.csproj, sino un nivel superior ( C:\project\testApp ), y es por eso que necesita usar rutas de archivos relativas y no solo el nombre del archivo, como si estuviera en la misma carpeta, lo que No lo es.