Docker學習筆記之-部署.Net Core 3.1項目到Docker容器,並使用Nginx反向代理(CentOS7)(一)

上一節演示如何安裝Docker,連接:Docker學習筆記之-在CentOS中安裝Dockerhtml

本節演示 將.net core 3.1 部署到docker容器當中,並使用 Nginx反向代理,部署平臺 CentOS 7.8linux

在演示以前先打地基:nginx

1,安裝 Nginx 支持 (centos7.8 默認不帶Nginx)docker

第一步:安裝 Nginxubuntu

centos系統不像 ubuntu系統,能夠直接install安裝,須要先添加源:centos

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

上圖表示添加成功,接下來執行安裝命令服務器

sudo yum install -y nginx

安裝完畢:app

啓動 Nginx 服務 框架

sudo systemctl start nginx.service

啓動後經過下邊腳本驗證是否安裝成功,這裏的IP地址就是你centos系統的ip地址,怎麼查看ip地址能夠查看前邊章節curl

curl http://172.18.237.116/

出現如下內容說明安裝成功。

附上一個參考文檔:http://www.javashuo.com/article/p-ferusvkh-gr.html 

地基打完了! 

接下來開始正文,編譯你.net項目,並添加docker支持,項目右鍵,選擇添加docker 支持(這一部分操做必須)

而後選擇 linux,主要是爲了發佈到 centos 上

 肯定後,項目中會多了一個 Dockerfile 文件

默認裏面內容是:

#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["myAPI/myAPI.csproj", "myAPI/"]
RUN dotnet restore "myAPI/myAPI.csproj"
COPY . .
WORKDIR "/src/myAPI"
RUN dotnet build "myAPI.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "myAPI.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "myAPI.dll"]

實際上,生產環境只須要如下內容就能夠了。

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
COPY . /app
EXPOSE 80
ENTRYPOINT ["dotnet", "myAPI.dll"]

解釋:

EXPOSE 80 是指這個容器對外暴露的端口;

WORKDIR /app  是容器的工做目錄;

COPY . /app  是指複製當前目錄(其中.即表明當前目錄)到容器中的/app目錄下;

ENTRYPOINT  指定容器的運行對象

右鍵項目-->發佈-->配置發佈內容

配置內容:部署模式選擇 「依賴框架」,運行時選擇 linux-x64,點擊,保存--發佈

發佈成功以後,經過軟件Xftp 將項目上傳到服務器上

在centOS服務根目錄建立一個項目文件夾,存放要上傳的項目,

經過Xftp很方便的就能夠完成,右鍵--新建文件夾:netcoredemo,將左邊文件上傳便可

發佈後的項目不包含 Dockerfile,須要單獨上傳,將Dockerfile也上傳到項目netcoredemo文件夾中

 經過命令 ls 驗證是否上傳成功,以下圖所示,項目已經上傳成功

如今項目上傳到服務器了,接下來就是部署到Docker中!

都演示完篇幅有點太長了,因此後邊的放到下一節中演示!

Docker學習筆記之-部署.Net Core 3.1項目到Docker容器,並使用Nginx反向代理(CentOS7)(二)

相關文章
相關標籤/搜索