一 安裝netcore 2.0 SDKlinux
在centos 上面安裝netcore 2.0 與window上面是不太同樣的,注意,linux是不支持同時安裝兩個版本的.netcore SDK的,因爲我以前開發過netcore 1.04 的,如今須要升級到2.0的SDKdocker
那如何升級。json
1.找到當前的安裝路徑:centos
2.安裝.netcore 2.0bash
在這邊找到你要安裝的對應的包:https://www.microsoft.com/net/download/linux測試
打開 yum instructions 連接:ui
我選擇不升級內核,直接安裝sdk 因此只須要執行框中的兩行命令spa
安裝完後,咱們會發現:netcore 2.0 sdk 安裝在usr/share/dotnet/dotnet.net
建立軟連接:3d
若是以前存在,那麼能夠執行 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 後面的路徑,不然指不到正確的目錄】