1. 程式人生 > 其它 >Linux+Docker+Dockerfile + netcore + python

Linux+Docker+Dockerfile + netcore + python

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 app
11 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-restore
21 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 -y
32 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還沒完全測試