docker build -t mbsapi .
打包已发布的系统
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. #DockerfileFROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base WORKDIR /app EXPOSE 5566
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo 'Asia/Shanghai' >/etc/timezone
ADD ./net6.0/ /app ENTRYPOINT ["dotnet", "Admin.dll","--urls","https://*:5566"]
编译并打包
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base WORKDIR /app EXPOSE 5566FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build WORKDIR /src COPY ["./", "/src"]
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo 'Asia/Shanghai' >/etc/timezone
RUN dotnet restore "Admin/Admin.csproj" COPY . . WORKDIR "/src/Admin" RUN dotnet build "Admin.csproj" -c Release -o /app/build
FROM build AS publish RUN dotnet publish "Admin.csproj" -c Release -o /app/publish
FROM base AS final WORKDIR /app COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Admin.dll","--urls","http://*:5566"]
#启动时设定 添加以下参数 -v /etc/timezone:/etc/timezone \ -v /etc/localtime:/etc/localtime
.dockerignore
**/.classpath **/.dockerignore **/.env **/.git **/.gitignore **/.project **/.settings **/.toolstarget **/.vs **/.vscode **/*.*proj.user **/*.dbmdl **/*.jfm **/azds.yaml **/bin **/charts **/docker-compose* **/Dockerfile* **/node_modules **/npm-debug.log **/obj **/secrets.dev.yaml **/values.dev.yaml LICENSE README.md
----------------------------完-----------------------------------
#以下还在研究中。。 FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base WORKDIR /app EXPOSE 5566FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build WORKDIR /src COPY ["./", "/src"]
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo 'Asia/Shanghai' >/etc/timezone
RUN dotnet restore "Admin/Admin.csproj" COPY . . WORKDIR "/src/Admin" RUN dotnet build "Admin.csproj" -c Release -o /app/build
FROM build AS publish RUN dotnet publish "Admin.csproj" -c Release -o /app/publish
FROM base AS final WORKDIR /app COPY --from=publish /app/publish .
run echo "[Unit]
Description=mbsapi
[Service]
WorkingDirectory=/app
ExecStart=dotnet Admin.dll
Restart=always
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=mbsapi
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.target">>/usr/lib/systemd/system/mbsapi.servicerun chomd +x /usr/lib/systemd/system/mbsapi.service run systemctl daemon-reload run systemctl enable mbsapi #systemctl start mbsapi
#ENTRYPOINT ["dotnet", "Admin.dll","--urls","http://*:5566"] ENTRYPOINT ["systemctl start mbsapi"]
添加为系统服务
echo "[Unit] >Description=mbsapi >[Service] >WorkingDirectory=/app >ExecStart=dotnet /app/Admin.dll >Restart=always >RestartSec=10 >KillSignal=SIGINT >SyslogIdentifier=mbsapi >User=root >Environment=ASPNETCORE_ENVIRONMENT=Production >>Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false >[Install] >WantedBy=multi-user.target">>/usr/lib/systemd/system/mbsapi.servicechomd +x /usr/lib/systemd/system/mbsapi.service #.. install --reinstall systemd systemctl daemon-reload systemctl enable mbsapi systemctl start mbsapi

评论