《ASP.NET Core 與 RESTful API 開發(fā)實戰(zhàn)》-- (第10章)-- 讀書筆記

第 10 章 部署
10.1 部署到 IIS
ASP.NET Core 應用程序支持部署到 IIS 中,之后它將作為應用程序的反向代理服務器和負載均衡器,向應用程序中轉(zhuǎn)傳入的 HTTP 請求
默認情況下,ASP.NET Core 項目的 Program 類使用如下方式創(chuàng)建 WebHost
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup();
});
CreateDefaultBuilder 方法將會調(diào)用 UseIIS 方法和 UseIISIntergration 方法,分別用于 IIS 進程內(nèi)托管方式以及 IIS 進程外托管方式
無論使用哪一種部署方式,都應該先發(fā)布應用
發(fā)布 ASP.NET Core 應用程序有兩種方式,分別是使用 Visual Studio 中的發(fā)布向?qū)б约笆褂?.NET Core CLI 命令
首先通過發(fā)布向?qū)Оl(fā)布到指定文件夾,接著配置 IIS,需要確保當前計算機已經(jīng)安裝了 IIS 以及 IIS 管理控制臺,完成配置之后訪問網(wǎng)站,將會打開 Swagger 文檔頁面,說明網(wǎng)站已經(jīng)正常運行
目前,應用程序進能夠通過 HTTP 方式訪問,要使它在 IIS 中支持 HTTPS,還需要進行一些配置,包含證書設置、HTTPS 綁定和 HTTPS 重定向
當使用 HTTP 協(xié)議訪問時,IIS 并不會進行 HTTPS 重定向,為了支持這一功能,需要安裝“URL 重寫”工具
10.2 部署到 Docker
Docker 是一個開源項目,目標是提供輕量級的操作系統(tǒng)虛擬化解決方案
由于容器使用沙箱機制,多個容器實例之間互不影響,因而可以將應用程序同時部署到多個容器中并同時運行
鏡像與容器是 Docker 中兩個非常重要的概念,簡單來說,鏡像是用于創(chuàng)建容器的模板,Docker 容器則是通過鏡像創(chuàng)建的應用程序?qū)嵗?/p>
Docker 支持多個平臺,包含 Windows、Linux 和 macOS 系統(tǒng),Windows 10 可以通過下載“Docker for Windows”使用
在 Windows 操作系統(tǒng)中安裝并使用 Docker,應首先啟用 Hyper-V 功能,Hyper-V 能夠使 Linux 容器運行在 Windows 系統(tǒng)上,這是 Docker 安裝與運行所必需的
對于 Windwos 系統(tǒng),Docker 會安裝 Linux 虛擬機,以便在 Windows 操作系統(tǒng)中能夠運行并創(chuàng)建基于 Linux 的容器
Dokcer 提供了一系列用于操作鏡像和容器的命令
操作 Docker 鏡像的命令:
docker build 創(chuàng)建
docker images 列出鏡像
docker pull 下載鏡像
docker push 發(fā)布鏡像
docker tag 指定標簽
docker rmi 刪除鏡像
操作 Docker 容器的命令:
docker create 創(chuàng)建容器
docker start 啟動容器
docker run 創(chuàng)建并啟動
docker stop 停止
docker rm 刪除
docker ps 列出正在運行的容器
docker logs 查看日志
docker exec 在運行的容器中執(zhí)行命令或啟動交互式會話
docker create 命令和 docker run 命令支持的參數(shù)
--name 指定容器名稱
-p,--publish 將主機的端口映射到容器的端口
--rm 當容器停止運行后,使 Docker 自動刪除該容器
-v,--volume 為容器中的指定目錄提供數(shù)據(jù)卷
-e,-env 為容器提供環(huán)境變量
-i 以交互模式運行容器,通常與-t同時使用
Docker Compose 簡介
當應用程序依賴多個服務時,如數(shù)據(jù)庫和緩存等,要將其部署到容器中,也可以使用 Docker 命令以及 Docker 網(wǎng)絡實現(xiàn),但是會比較煩瑣且極容易出錯
為此,Docker 提供了 Docker Compose,也稱為 Docker 容器編排,它是一個用來描述復雜的應用程序的工具,這些復雜應用通常需要創(chuàng)建多個容器,并使用 Docker 數(shù)據(jù)卷與 Docker 網(wǎng)絡等;此外,它還可以編排并管理多個容器,能夠簡化部署復雜應用程序到容器的操作,且不易出錯
相關文章
《ASP.NET Core 與 RESTful API 開發(fā)實戰(zhàn)》-- (第9章)-- 讀書筆記(下)
《ASP.NET Core 與 RESTful API 開發(fā)實戰(zhàn)》-- (第9章)-- 讀書筆記(上)
《ASP.NET Core 與 RESTful API 開發(fā)實戰(zhàn)》-- (第8章)-- 讀書筆記(尾)
《ASP.NET Core 與 RESTful API 開發(fā)實戰(zhàn)》-- (第8章)-- 讀書筆記(下)
《ASP.NET Core 與 RESTful API 開發(fā)實戰(zhàn)》-- (第8章)-- 讀書筆記(中)
《ASP.NET Core 與 RESTful API 開發(fā)實戰(zhàn)》-- (第8章)-- 讀書筆記(上)
《ASP.NET Core 與 RESTful API 開發(fā)實戰(zhàn)》-- (第7章)-- 讀書筆記(下)
《ASP.NET Core 與 RESTful API 開發(fā)實戰(zhàn)》-- (第7章)-- 讀書筆記(中)
《ASP.NET Core 與 RESTful API 開發(fā)實戰(zhàn)》-- (第7章)-- 讀書筆記(上)
《ASP.NET Core 與 RESTful API 開發(fā)實戰(zhàn)》-- (第6章)-- 讀書筆記(下)
《ASP.ENT Core 與 RESTful API 開發(fā)實戰(zhàn)》-- (第6章)-- 讀書筆記(上)
《ASP.ENT Core 與 RESTful API 開發(fā)實戰(zhàn)》-- (第5章)-- 讀書筆記(下)
《ASP.ENT Core 與 RESTful API 開發(fā)實戰(zhàn)》-- (第5章)-- 讀書筆記(中)
《ASP.ENT Core 與 RESTful API 開發(fā)實戰(zhàn)》-- (第5章)-- 讀書筆記(上)
《ASP.ENT Core 與 RESTful API 開發(fā)實戰(zhàn)》-- (第4章)-- 讀書筆記(下)
《ASP.ENT Core 與 RESTful API 開發(fā)實戰(zhàn)》-- (第4章)-- 讀書筆記(上)
《ASP.ENT Core 與 RESTful API 開發(fā)實戰(zhàn)》(第3章)-- 讀書筆記(下)
《ASP.ENT Core 與 RESTful API 開發(fā)實戰(zhàn)》(第3章)-- 讀書筆記(中)
《ASP.ENT Core 與 RESTful API 開發(fā)實戰(zhàn)》(第3章)-- 讀書筆記(上)
《ASP.ENT Core 與 RESTful API 開發(fā)實戰(zhàn)》-- 讀書筆記(第2章)
《ASP.ENT Core 與 RESTful API 開發(fā)實戰(zhàn)》-- 讀書筆記(第1章)
