Linux+Docker+Dockerfile + netcore + python
阿新 • • 發佈:2021-06-11
1、Dockerfile放在sln同一層級。
2、Dockerfile
1 # https://hub.docker.com/_/microsoft-dotnet 2 FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build 3 WORKDIR /source 4 5 # copy csproj and restore as distinct layers 6 COPY *.sln . 7 COPY netcoretest/*.csproj ./netcoretest/ 8 RUN dotnet restore 9 10 # copy everything else and build app11 COPY netcoretest/. ./netcoretest/ 12 WORKDIR /source/netcoretest 13 RUN dotnet publish -c release -o /app --no-restore 14 15 RUN dotnet restore 16 17 # copy everything else and build app 18 COPY netcoretest/. ./netcoretest/ 19 WORKDIR /source/netcoretest 20 RUN dotnet publish -c release -o /app --no-restore21 22 # final stage/image 23 FROM mcr.microsoft.com/dotnet/aspnet:5.0 24 25 # 放在最後一個FROM下,不能放在第一個sdk下。 26 # 最後生成的映象,以最後一條 FROM 為準,之前的 FROM 會被拋棄。 27 # 每一條 FROM 指令都是一個構建階段,多條 FROM 就是多階段構建。 28 # 雖然最後生成的映象只能是最後一個階段的結果,但是,能夠將前置階段中的檔案拷貝到後邊的階段中,這就是多階段構建的最大意義。 29 # 最大的使用場景是將編譯環境和執行環境分離 30 31 RUN apt-get update -y32 RUN apt-get install python2.7 -y 33 RUN echo "alias python='/usr/bin/python2.7'">>/etc/bash.bashrc 34 35 WORKDIR /app 36 COPY --from=build /app ./ 37 ENTRYPOINT ["dotnet", "netcoretest.dll"]
3、還沒測試:ENV TIMEZONE Asina/Shanghai
4、掛載在測試中。
5、python還沒完全測試