国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

瀏覽:107日期:2024-04-21 10:58:29
目錄一、系統(tǒng)環(huán)境二、操作流程及途中遇到的問題一、系統(tǒng)環(huán)境

1、騰訊云輕量應(yīng)用服務(wù)器CentOS7.6

二、操作流程及途中遇到的問題

1、SSH方式遠(yuǎn)程Linux

ssh <username>@<IP address or domain name>

如果遇到下圖問題:

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

出現(xiàn)這個問題的原因:known_hosts是記錄遠(yuǎn)程主機(jī)的公鑰的文件,之前重裝個系統(tǒng),而保存的公鑰還是未重裝系統(tǒng)的系統(tǒng)公鑰,在ssh鏈接的時候首先會驗證公鑰,如果公鑰不對,那么就會報錯解決方法:使用shh-keygen 命令ssh-keygen -R IP,執(zhí)行完畢出現(xiàn)下圖:

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

然后重新使用ssh方式遠(yuǎn)程Linux:

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

2、更新系統(tǒng)

sudo yum update

3、安裝Git

sudo yum -y install git

4、安裝Nginx,啟用和啟動服務(wù):

sudo yum install nginxsudo systemctl enable nginxsudo systemctl start nginx

5、安裝Dotnet SDK

每臺計算機(jī)只需要執(zhí)行一次此操作。

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpmsudo yum install dotnet-sdk-5.0

6、安裝Docker環(huán)境

1)安裝Docker源:

首先,我們可以先執(zhí)行下卸載命令,如果你之前安裝過,或者系統(tǒng)自帶了,需要卸載干凈:

sudo yum remove docker-ce

然后我們就可以安裝指定的源了,有官方版本和阿里云版本,我這里嘗試使用阿里云版本的吧,聽說會快一些。Step 1: 安裝必要的一些系統(tǒng)工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Step 2: 添加軟件源信息

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Step 3: 更新并安裝Docker-CE

sudo yum makecache fast (可選)sudo yum -y install docker-ce

Step 4: 開啟Docker服務(wù)

sudo service docker start

設(shè)置docker開機(jī)啟動

systemctl enable docker

啟動docker

systemctl start docker

查看版本

docker --version

Docker常用命令

查看所有鏡像 docker images刪除一個imageid的鏡像

docker rmi [imageid]

刪除所有鏡像

sudo docker rmi $(docker images -q)

查看所有容器運(yùn)行狀態(tài)

docker ps -a

刪除一個containerid的容器(實(shí)例)

docker rm [containerid]

刪除所有容器

docker rm $(sudo docker ps -a -q)

2)測試Hello World

檢查docker是否可以正常運(yùn)行(運(yùn)行hello-world鏡像,如果本機(jī)沒有hello-world鏡像,系統(tǒng)會自動拉取hello-world鏡像)

docker run hello-world

這個時候,我們可以來檢查一下:當(dāng)前服務(wù)器有哪些鏡像:

docker images

那如何查看有哪些容器呢:

docker ps -a

這個就是剛剛我們看到有輸出內(nèi)容的容器:容器ID是eb180038a3ce,鏡像是hello-world,狀態(tài)是已退出。

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

7、發(fā)布自己的鏡像

1)添加Docker支持:

自定義項目要暴露的接口

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

在Api層右鍵添加Docker支持,選擇Linux

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

更改Dockerfile文件

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

FROM:意思是我們的項目源鏡像是哪個;WORKDIR:鏡像的工作目錄;COPY:復(fù)制文件(將Dockerfile所在目錄下文件復(fù)制到鏡像中的工作目錄中)EXPOSE:容器要開放的端口(我們用項目的8081端口)ENTRYPOINT:為容器啟動后要執(zhí)行的命令 (這里將執(zhí)行dotnet Docker.Core.Api.dll命令)

2個腳本文件:Docker.Core.Publish.Linux.sh和Docker.Core.Publish.Docker.sh

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

Dockerfile:然后右鍵,始終屬性、始終復(fù)制到輸出(bin)目錄接下來把項目發(fā)布到GitHub或者Gitee:我這里是發(fā)布到github然后去碼云強(qiáng)制同步項目,從國內(nèi)clone項目速度更快

2)發(fā)布

我們在服務(wù)器用Git將代碼PULL下來,然后執(zhí)行發(fā)布命令,我用一個批處理文件,直接一鍵生成(主要是防止漏掉文件):

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

執(zhí)行發(fā)布命令:

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

就可以看到生成好的發(fā)布文件夾PublishFiles。接下來就是docker 編譯鏡像了。

3)創(chuàng)建鏡像

進(jìn)入到我們的發(fā)布文件夾PublishFiles文件夾下,我們測試一下這個文件是否正常:

dotnet Docker.Core.Api.dll

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

沒問題后,開始build了,還是在當(dāng)前文件夾下(記得那個點(diǎn)):

docker build -t lenceas/apkimg .

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

其中l(wèi)enceas/apkimg是我們的鏡像名。因為我們的Dockerfile是五步,所以這里也正好是5個Step。然后查看機(jī)器上的鏡像:

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

這里多了兩個鏡像,一個是我們的鏡像ID為48252cd5c2d0,大小209M的項目文件,一個是我們Dockerfile的源鏡像。

4)推送鏡像到Docker hub倉庫

第一步:在Docker hub注冊賬號第二步:創(chuàng)建倉庫

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

第三步:服務(wù)器鏡像推送先登錄賬號(這里如果以前登錄過,可以先退出再重新登錄)

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

推送:

docker push lenceas/apkimg:latest

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

檢查:我們登錄管理后臺,查看結(jié)果

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

可以看到已經(jīng)成功推送了,這樣的話,我們就可以在任何的地方使用我的鏡像啦。現(xiàn)在我們有了鏡像,那就可以創(chuàng)建容器了,因為有了容器才能運(yùn)行。

8、生成并運(yùn)行容器

1)生成容器

有了鏡像,我們來生成一個容器:

docker run -it -p 8081:8081 lenceas/apkimg

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

會看到輸出內(nèi)容,如果沒有報錯的話,就恭喜啦,退出當(dāng)前進(jìn)程,查看下有哪些容器:

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

這時候可以看到多了一個容器ID為e45b93658007,鏡像是lenceas/apkimg的容器,不過我們的項目容器是退出狀態(tài),需要開啟下:

docker start e45b93658007

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

狀態(tài)已經(jīng)是運(yùn)行中了,那怎么測試接口是否正常了呢,可以用curl命令:

curl http://localhost:8081/WeatherForecast

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

如果到了這里,恭喜你,Docker部署NetCore基本已經(jīng)搞定了剩下最后一步了,nginx代理,因為我們的Docker已經(jīng)守護(hù)了這個進(jìn)程,所以我們不需要其他的守護(hù)進(jìn)程的工作。

9、Nginx代理服務(wù)

修改nginx.conf文件,兩種方式:1.vim 命令編輯文件:vim xxx插入開始編輯:i保存并退出::wq!2.FTP下載到本地修改這里具體的配置就不寫了,網(wǎng)上可以自己去搜.

接下來就是重啟Nginx服務(wù),首先可以檢測語法錯誤:

nginx -t

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

nginx -s reload

Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

以上就是Linux Docker 部署 ASP.NET Core應(yīng)用的詳細(xì)內(nèi)容,更多關(guān)于Docker 部署 ASP.NET Core應(yīng)用的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Linux系統(tǒng)
相關(guān)文章:
主站蜘蛛池模板: 临澧县| 博野县| 长阳| 城固县| 阿克| 永兴县| 马公市| 崇左市| 响水县| 长治县| 昭觉县| 来宾市| 无棣县| 宣恩县| 花垣县| 长海县| 阿勒泰市| 浮山县| 华蓥市| 弋阳县| 图片| 万安县| 屯门区| 绥阳县| 镇远县| 紫金县| 白山市| 汉沽区| 当涂县| 庆阳市| 布尔津县| 黄冈市| 武汉市| 惠来县| 宁波市| 桓台县| 竹溪县| 崇信县| 湘潭市| 胶州市| 商河县|