一 安裝netcore 2.0 SDK
在centos 上面安裝netcore 2.0 與window上面是不太一樣的,注意,linux是不支持同時安裝兩個版本的.netcore SDK的,由於我之前開發過netcore 1.04 的,現在需要升級到2.0的SDK
那如何升級。
1.找到當前的安裝路徑:
2.安裝.netcore 2.0
在這邊找到你要安裝的對應的包:https://www.microsoft.com/net/download/linux
打開 yum instructions 鏈接:
我選擇不升級內核,直接安裝sdk 所以只需要執行框中的兩行命令
安裝完后,我們會發現:netcore 2.0 sdk 安裝在usr/share/dotnet/dotnet
創建軟鏈接:
如果之前存在,那么可以執行 ln -s -f souredir lindir
再次檢查dotnet 版本:
好了,版本是我們要的版本了。
二 測試本機發布
上傳dotnet publish后的發布文件到centos中,可以使用
測試本機發布:dotnet UIclub.Web.dll
我這里是由於程序已經發布到docker中跑起來了,占用的端口的原因
三 安裝DOCKER
#安裝Docker
yum
install
docker
#啟動docker服務
systemctl start docker.service
#配置開機啟動
systemctl
enable
docker.service
配置docker加速
配置docker加速最快的方法直接修改/etc/docker/daemon
.json下的配置信息
/etc/docker/daemon
.json
{
}
然后在終端重啟docker服務
sudo
systemctl daemon-reload
sudo
systemctl restart docker
四 發布程序到docker中
1.拉取發布的基本鏡像
docker pull docker.io/microsoft/dotnet:[tag] 拉取最新的鏡像,如果你是要舊版本的鏡像,可以填寫相應的tag
docker images
2.配置Dockerfile
按esc :wq保存退出
docker build -t demo:1.0 . -->注意:最后有個點 表示當前路徑
docker run -d -p 8000:8000 demo:1.0 運行容器
查看運行的容器,正常跑起來的時候應該有一個正在運行的容器
docker ps
五.測試
至此,發布成功。
補充:
項目后期發布后遇到一個附件上傳的問題,比如,創建容器后,附件是之前傳到容器中的某個目錄的,但是這樣就會導致萬一容器銷毀或者機器重啟后,上傳的文件都丟失的問題,那么就需要解決這個問題
docker volume 技術就需要用上了,能過閱讀了Docker的官方開發文檔后了解到【https://docs.docker.com/engine/admin/volumes/volumes/】可以掛載相應的主機host目錄到容器某個目錄下,實現 所謂的容器與主機文件的讀寫共享。
1.直接通過DockerFile來配置掛載點,通過這種方式實現的時候,不能直接指定具體的主機掛載目錄,docker會自動生成一個文件夾的映射目錄,這個不推薦
2.docker run -d -p 8000/8000 -v /test:/publish/wwwroot/upload demo:1.0 來實現 【注意,Docker 其實是一個微的VM,要特別注意這里的 -v 后面的路徑,否則指不到正確的目錄】