成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

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

目錄一、系統(tǒng)環(huán)境

十載的光山網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整光山建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“光山網(wǎng)站設(shè)計(jì)”,“光山網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

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

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

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

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

如果遇到下圖問題:
出現(xiàn)這個(gè)問題的原因:known_hosts是記錄遠(yuǎn)程主機(jī)的公鑰的文件,之前重裝個(gè)系統(tǒng),而保存的公鑰還是未重裝系統(tǒng)的系統(tǒng)公鑰,在ssh鏈接的時(shí)候首先會(huì)驗(yàn)證公鑰,如果公鑰不對(duì),那么就會(huì)報(bào)錯(cuò)

解決方法:使用shh-keygen 命令ssh-keygen -R IP,執(zhí)行完畢出現(xiàn)下圖:


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

2、更新系統(tǒng)

sudo yum update

3、安裝Git

sudo yum -y install git

4、安裝Nginx,啟用和啟動(dòng)服務(wù):
sudo yum install nginx
sudo systemctl enable nginx

sudo systemctl start nginx

5、安裝Dotnet SDK

每臺(tái)計(jì)算機(jī)只需要執(zhí)行一次此操作。
sudo rpm -Uvh

sudo yum install dotnet-sdk-5.0

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

1)安裝Docker源:

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

sudo yum remove docker-ce
然后我們就可以安裝指定的源了,有官方版本和阿里云版本,我這里嘗試使用阿里云版本的吧,聽說會(huì)快一些。

Step 1: 安裝必要的一些系統(tǒng)工具

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

Step 2: 添加軟件源信息

sudo yum-config-manager --add-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ī)啟動(dòng)

systemctl enable docker

啟動(dòng)docker

systemctl start docker

查看版本

docker --version

Docker常用命令
查看所有鏡像 docker images

刪除一個(gè)imageid的鏡像

docker rmi [imageid]

刪除所有鏡像

sudo docker rmi $(docker images -q)

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

docker ps -a

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

docker rm [containerid]

刪除所有容器

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

2)測(cè)試Hello World

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

docker run hello-world
這個(gè)時(shí)候,我們可以來檢查一下:

當(dāng)前服務(wù)器有哪些鏡像:

docker images

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

docker ps -a

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

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

1)添加Docker支持:

自定義項(xiàng)目要暴露的接口

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

更改Dockerfile文件
FROM:意思是我們的項(xiàng)目源鏡像是哪個(gè);
WORKDIR:鏡像的工作目錄;
COPY:復(fù)制文件(將Dockerfile所在目錄下文件復(fù)制到鏡像中的工作目錄中)
EXPOSE:容器要開放的端口(我們用項(xiàng)目的8081端口)

ENTRYPOINT:為容器啟動(dòng)后要執(zhí)行的命令 (這里將執(zhí)行dotnet Docker.Core.Api.dll命令)


2個(gè)腳本文件:Docker.Core.Publish.Linux.sh和Docker.Core.Publish.Docker.sh
Dockerfile:然后右鍵,始終屬性、始終復(fù)制到輸出(bin)目錄

接下來把項(xiàng)目發(fā)布到GitHub或者Gitee:我這里是發(fā)布到github然后去碼云強(qiáng)制同步項(xiàng)目,從國(guó)內(nèi)clone項(xiàng)目速度更快

2)發(fā)布

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

執(zhí)行發(fā)布命令:
就可以看到生成好的發(fā)布文件夾PublishFiles。

接下來就是docker 編譯鏡像了。

3)創(chuàng)建鏡像

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

dotnet Docker.Core.Api.dll

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

docker build -t lenceas/apkimg .
其中l(wèi)enceas/apkimg是我們的鏡像名。
因?yàn)槲覀兊腄ockerfile是五步,所以這里也正好是5個(gè)Step。

然后查看機(jī)器上的鏡像:

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

4)推送鏡像到Docker hub倉(cāng)庫(kù)
第一步:在Docker hub注冊(cè)賬號(hào)

第二步:創(chuàng)建倉(cāng)庫(kù)
第三步:服務(wù)器鏡像推送

先登錄賬號(hào)(這里如果以前登錄過,可以先退出再重新登錄)

推送:

docker push lenceas/apkimg:latest
檢查:

我們登錄管理后臺(tái),查看結(jié)果
可以看到已經(jīng)成功推送了,這樣的話,我們就可以在任何的地方使用我的鏡像啦。

現(xiàn)在我們有了鏡像,那就可以創(chuàng)建容器了,因?yàn)橛辛巳萜鞑拍苓\(yùn)行。

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

1)生成容器

有了鏡像,我們來生成一個(gè)容器:

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

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

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

docker start e45b93658007

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

curl
如果到了這里,恭喜你,Docker部署NetCore基本已經(jīng)搞定了

剩下最后一步了,nginx代理,因?yàn)槲覀兊腄ocker已經(jīng)守護(hù)了這個(gè)進(jìn)程,所以我們不需要其他的守護(hù)進(jìn)程的工作。

9、Nginx代理服務(wù)
修改nginx.conf文件,兩種方式:
1.vim 命令
編輯文件:vim xxx
插入開始編輯:i
保存并退出::wq!
2.FTP下載到本地修改

這里具體的配置就不寫了,網(wǎng)上可以自己去搜.

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

nginx -t

nginx -s reload

以上就是Linux Docker 部署 ASP.NET Core應(yīng)用的詳細(xì)內(nèi)容,更多關(guān)于Docker 部署 ASP.NET Core應(yīng)用的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

名稱欄目:Linux系統(tǒng)Docker部署ASP.NETCore應(yīng)用的流程分析
文章URL:http://jinyejixie.com/article8/ehhiop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站云服務(wù)器、軟件開發(fā)品牌網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
基隆市| 甘肃省| 桦川县| 台北县| 呼图壁县| 石楼县| 达拉特旗| 宁陵县| 西乌珠穆沁旗| 张家界市| 连城县| 手游| 同仁县| 北海市| 突泉县| 大邑县| 永丰县| 丹寨县| 鄂尔多斯市| 翼城县| 肥东县| 韶山市| 米脂县| 额尔古纳市| 封丘县| 浦县| 日喀则市| 永新县| 嘉祥县| 四会市| 丰都县| 平顶山市| 壶关县| 锡林浩特市| 崇义县| 永定县| 阿巴嘎旗| 柳林县| 区。| 那曲县| 蒙城县|