NetCore 2.0 應用程序在centos 7上通過docker發布


一  安裝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
{
  "registry-mirrors" : [ "https://d8b3zdiw.mirror.aliyuncs.com" ]
}
然后在終端重啟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 后面的路徑,否則指不到正確的目錄】

   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM