1.創建一個基礎的WebApi專案


注意:因為發布時候,Dockerfile檔案必須和解決方案.cspro檔案放在同級,所以建議勾上這個,當時遇到這個問題,導致打包鏡像時找不到.cspro檔案,搞了好久

點擊創建,專案基礎框架是這樣的:

在Program中能夠看到 MinimalApi 自帶的示例:

切換到專案配置運行,能夠請求到資料:


2.將專案檔案用Xftp拷貝到Linux系統中,我這里用的是VMWare虛擬機的CentOS7系統,
拷貝到root目錄下,自建一個發布專案的檔案夾(這里我創建的是DockerPublish檔案夾)里面

3、輸入命令,進入到專案檔案夾里面:

系統需裝好docker,安裝好常用的命令、配置好環境,
輸入命令:docker images -查看當前的全部鏡像:

4.通過 Dockerfile 檔案 ,將專案打包成鏡像:
命令: docker build -t [新建的鏡像名]:[指定的版本號] -f Dockerfile .
注意:Dockerfile 后面的 "." 不可少!
輸入打包鏡像的命令之后,開始打包,看到如下資訊表示鏡像創建成功:

5. 通過鏡像構建容器實體:
命令:docker run --name mywebapi -d -p 5566:80 net6webapi:1.0
命令格式:docker run --name [自定義容器名] -d -p [自定義對外埠]:[Dockerfile中指定的埠,不修改的話,一般都是80] [鏡像名]:[版本號]

容器創建好之后,通過命令 :docker ps (查看正在運行的容器) , docker ps -a (查看全部容器)
docker ps 能夠看到剛才創建的容器,就成功了:

接下來在電腦上,通過虛擬機的地址訪問mywebapi,可以用 ifconfig 命令 查看虛擬機地址,
如果你和我一樣也用的 Xshell7 連接工具,那么左下角可以直接看到虛擬機的地址:

瀏覽器輸入地址 : 192.168.146.129:5566/weatherforecast 能夠訪問到資料,就成功了!

5566埠即為第5步,鏡像實體化成容器時,指定的容器埠
注意:如果訪問不到,但是 docker ps 可以看到容器,說明容器運行了,但是鏡像有問題,會有報錯,
通過命令:docker logs [容器名] 可以看到運行的容器,報錯日志
6.通過一個鏡像,構建多個容器實體,給不同埠,拿到一個鏡像,哪兒都能跑起來,跑同一套代碼
如果部署到服務器上,別人拿到我的鏡像,也能跑我的代碼,這就是docker的優勢,一個鏡像就是整個程式,




在實際專案開發中,會將同一個鏡像的多個容器實體,使用 Nginx 負載均衡配置,提高程式的性能,
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/476703.html
標籤:.NET Core

