
運行環境
照例,先亮環境;軟件的話我這里假設你已經批准好了.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)生產環境(一):普通部署
