Linux下基于Docker部署.Net Core web api項目

Docker的好處我就不說啦,問問度娘就知道了??

在動手之前我假設您已經安裝了Docker(Linux環境)

準備好一個web api項目,如果您還不知道怎樣用vs建web api項目,請看此篇博客

https://www.nxrnyq.tw/zhangnever/p/11915509.html

如果還沒安裝Docker請先別急,移步至此地址安裝

https://www.runoob.com/docker/centos-docker-install.html

在這里先說幾條Docker的命令,因為一會兒會用到

1.docker ps -a  --查看所有的容器
2.docker ps  --查看正在運行的容器
3.docker images  --查看所有的鏡像
4.docker logs 容器id  --查看指定容器的日志
5.docker pull 鏡像名 --拉取指定鏡像

首先在Program類添加如下代碼,UseUrls方法設置ip和端口號(可不和我一樣),這樣的話發布之后外網就可對其進行訪問。一定要加上這句代碼!!!

.UseUrls("http://*:9659")

 然后右鍵-屬性發布項目

 進入發布后的文件夾,將發布后的所有文件copy出來,上傳至Linux服務器,我用的是Xftp,在此之前在tmp目錄下新建一個文件夾(名稱隨意)

 然后將xml文件copy進來,不然發布會報錯。xml文件找不到

 打開Linux命令行終端工具,我用的是Xshell.切換到項目根目錄下,Vim創建Dockerfile文件,當然你也可以右鍵新建文件也行

 寫入這四句命令

FROM microsoft/dotnet:2.2-aspnetcore-runtime

WORKDIR /app

EXPOSE 9659

COPY . . 

CMD ["dotnet", "CoreFrame.dll"

 然后拉取鏡像,我這是.net core 2.2的項目,依據你的項目版本來

docker pull microsoft/dotnet:2.2-aspnetcore-runtime

我這邊已經拉取過了,所以會提示我,已經存在最新的microsoft/dotnet:2.2-aspnetcore-runtime,你要稍微等個幾分鐘...

拉取完成之后你可以用docker images命令看看有沒有這個鏡像

[[email protected]1epqf1sp core]# docker images
REPOSITORY                             TAG                      IMAGE ID            CREATED             SIZE
docker.io/microsoft/dotnet             2.2-aspnetcore-runtime   594143f47344        2 weeks ago         261 MB

接下來執行下面這條命令,創建我們的項目鏡像,"."代表使用當前目錄下的Dockerfile創建鏡像

docker build -t apiproject .

 再使用docker images命令看看是否創建

[[email protected]1epqf1sp core]# docker images
REPOSITORY                             TAG                      IMAGE ID            CREATED              SIZE
apiproject                             latest                   f0036423060a        About a minute ago   301 MB
docker.io/microsoft/dotnet             2.2-aspnetcore-runtime   594143f47344        2 weeks ago          261 MB

無誤后執行下面這條命令,啟動容器,成功之后會有一長串字符

docker run -d -p 9659:9659 --name corewebapi apiproject
--corewebapi是容器名稱
--apiproject是依賴的鏡像

 查看運行的容器

 瀏覽器中就可以打開swagger文檔了

 如果容器沒有運行的話,要查看錯誤日志,看看報的什么錯,再解決。如果你按照我寫的步驟來的話應該不會報錯。??

 

 晚安!??

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2019-12-12 23:35  江北、  閱讀(...)  評論(...編輯  收藏
四川金7乐历史开奖号码查询