Asp.Net Core 程序部署到Linux(centos)生產環境(二):docker部署
運行環境
照例,先亮環境;軟件的話我這裏假設你已經批準好了.net core 運行環境,未配置可以看我的這篇[linux(centos)搭建.net core 運行環境]
騰訊雲
centos:7.2
cpu:1核 2G內存 1M帶寬
docker:18.06.1-ce
安裝docker
安裝其實很簡單,就不重復說了,請查看純潔大神這篇文章
準備你的.net core web 程序
我這裏新建一個空的.net core web程序用以演示,實際部署時是你的項目
創建web項目(我自己使用vs2017 ,如使用vscode的需要自己安裝windows的SDK和使用dotnet命令)
首先確保你的項目能在windows上運行
修改一下運行綁定的的端口號
添加Dockerfile
填入如下內容
FROM microsoft/dotnet:2.1-aspnetcore-runtime
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "WebApplication3.dll"]
並設置Dockerfile的屬性
!
ok,接下來發布
我發布到默認的 bin\Release\netcoreapp2.1\publish?下面,你們可以自定義目錄
發布完成後可看到如下文件結構
ok,web程序已經準備好。
上傳應用程序到linux
我這裏使用xftp工具上傳,上傳目錄是 /home/website/WebApplication3
構建鏡像
執行:
cd /home/website/WebApplication3
docker build -t webapplication3 .
這裏是去到Dockerfile所在的目錄,構建一個名字叫做webapplication3的鏡像,註意build命令後面的
.
不可獲取,這個.
代表的是當前構建鏡像的上下文路徑;
看到Successfully心情莫名愉悅,這說明鏡像構建成功,我使用命令docker images
看看:
啟動容器
執行下面命令,啟動我們剛剛構建好的webapplication3 容器
docker run --name webapplication3 -d -p 5004:5004 webapplication3
這樣表示容器正常啟動了
我們看看:
docker ps
容器正常運行,瀏覽器訪問 http://你的服務器ip:5004
噢耶,大功告成!
至此,.net core 程序docker部署方式完畢,若使用服務方式部署,請看我的 Asp.Net Core 程序部署到Linux(centos)生產環境(一):普通部署
Asp.Net Core 程序部署到Linux(centos)生產環境(二):docker部署