日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

目錄
  • 前言
  • 環(huán)境準(zhǔn)備
  • .NET Core項目準(zhǔn)備
    • 1.首先我們先創(chuàng)建一個空的ASP.NET Core Web應(yīng)用
    • 2.我們可以先在本地將項目構(gòu)建成鏡像看看效果
    • 3.接下來我們將鏡像run起來,構(gòu)造出一個容器:
  • Linux環(huán)境配置:
    • 1.配置yum
      • 更新yum包
      • 安裝yum-utils 用來管理yum源
      • 查看資源庫中有沒有安裝過的docker rpm包
    • 2.安裝docker
      • 3.啟動docker
        • 4.安裝.NetCore SDK 6.0
          • 安裝包配置
          • 執(zhí)行安裝
          • 驗證安裝環(huán)境
          • 調(diào)整Dockerfile文件屬性
          • 項目打包,拷貝至Linux服務(wù)器上
          • 運行Dockerfile
          • 使用外網(wǎng)訪問
      • Docker部署.NetCore 項目
        • 結(jié)尾

          前言

          作為一名.Net菜鳥開發(fā)者,平時對Linux接觸的并不多,項目部署這一塊都是運維小哥頂著,但是作為混跡在云原生項目組的人咱也不能什么都不知道,該掌握的知識還是要懂的,所以借著這次機會,梳理一下項目部署這塊的知識點。如果在閱讀的過程中發(fā)現(xiàn)有什么不合理的地方,還請多多指教!

          環(huán)境準(zhǔn)備

          VS2022
          CentOS 7
          Docker Desktop
          .NetCore 6.0
          Xshell 7

          .NET Core項目準(zhǔn)備

          1.首先我們先創(chuàng)建一個空的ASP.NET Core Web應(yīng)用

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          項目啟用Docker支持,然后會生成一個Dockerfile文件

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          我們來解析以下Dockerfile文件里面的內(nèi)容與流程

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          對多階段構(gòu)建感興趣的同學(xué)可以移步官網(wǎng) 使用多階段構(gòu)建

          2.我們可以先在本地將項目構(gòu)建成鏡像看看效果

          打開PowerShell 進入項目解決方案目錄路徑

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          接下來我們將項目打包成鏡像:

          docker image build -f ./NetCoreWeb/Dockerfile -t aspnetcore:latest .

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          注:這里使用 docker build -t aspnetcorewin .命令也可以,只不過有一些坑,遇到問題了可以在評論區(qū)交流

          打包完成,我們可以使用Docker命令來查看鏡像:

          docker images

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          我們也可以使用Docker Desktop客戶端查看鏡像

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          3.接下來我們將鏡像run起來,構(gòu)造出一個容器:

          docker run --name=aspnetcorewin -p 8801:80 -d aspnetcorewin
          • –name :指定容器名稱。
          • –p :指定容器端口。
          • –d :指定容器后臺運行。

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          查看正在運行的鏡像:

          docker ps

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          我們直接本地訪問我們映射的端口:localhost:8801

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          到這里我們在window上已經(jīng)可以成功訪問我們到項目了
          接下來我們先對我們Linux服務(wù)器的環(huán)境進行配置,方便后續(xù)部署項目

          Linux環(huán)境配置:

          使用XShell或其他工具連接上我們的Linux服務(wù)器

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          1.配置yum

          更新yum包

          sudo yum update

          安裝yum-utils 用來管理yum源

          sudo yum install -y yum-utils

          查看資源庫中有沒有安裝過的docker rpm包

          yum list installed | grep docker

          如果之前安裝過可以不用安裝,如果想重新安裝也可以
          執(zhí)行卸載老版本docker及其相關(guān)依賴即可:

          sudo yum remove docker docker-common container-selinux docker-selinux docker-engine

          2.安裝docker

          yum -y install docker-ce

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          如果出現(xiàn) No package docker-ce available 錯誤,這里我們只需要設(shè)置穩(wěn)定的倉庫,添加yum源即可。

          sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          然后再執(zhí)行安裝Docker命令進行安裝就可以了。

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          我當(dāng)時安裝的時候踩了一些坑
          1.“sqlite3.OperationalError: database is locked” 這里可能是我之前中斷過yum的更新導(dǎo)致yum進程被鎖了,最后把yum更新進程殺掉就可以了。
          2.安裝過程中一直停留在running transaction

          3.啟動docker

          啟動docker

          sudo systemctl start docker

          設(shè)置docker開機自啟動

          sudo systemctl enable docker

          查看docker是否運行

          systemctl status docker

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          4.安裝.NetCore SDK 6.0

          安裝包配置

          sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          執(zhí)行安裝

          sudo yum install dotnet-sdk-6.0

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          安裝可能會花費些時間,請耐心等待哦!

          安裝完成

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          驗證安裝環(huán)境

          dotnet --info

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          OK 環(huán)境配置完成!

          Docker部署.NetCore 項目

          調(diào)整Dockerfile文件屬性

          我們先將Dockerfile文件屬性復(fù)制到輸出目錄的方式調(diào)整為** 如果較新則復(fù)制**,方便我們部署

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          項目打包,拷貝至Linux服務(wù)器上

          接下來我們將項目打包,然后拷貝到linux服務(wù)器編譯發(fā)布
          在linux上創(chuàng)建一個文件夾 NetCoreProgram

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          然后將我們打包好的項目拷貝至文件夾中
          使用linux命令rz(會彈出一個上傳窗口)

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          運行Dockerfile

          進入解壓完成的文件夾內(nèi)查看文件:

          unzip -d NetCoreWeb NetCoreWeb.zip

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          接下來按照我們上述在window下將項目編譯成鏡像的操作,現(xiàn)在在linux環(huán)境下在執(zhí)行一遍:
          編譯成鏡像(注意要在對應(yīng)文件目錄下執(zhí)行命令):

          docker image build -f ./NetCoreWeb/Dockerfile -t aspnetcore:latest .

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          編譯完成,查看鏡像:

          docker images

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          將鏡像run起來生成容器:

          docker run --name=aspnetcore -p 8805:80 -d aspnetcore

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          查看容器是否生成成功:

          docker ps

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          接下來我們使用curl命令來訪問程序:

          curl localhost:8805

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          OK,訪問正常,到此我們的項目就部署完成啦!

          使用外網(wǎng)訪問

          使用服務(wù)器地址加開放的端口號:
          本機(windows)直接訪問服務(wù)器地址 http://xxx.xxx.xxx.xx:8805/

          .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程

          OK ,訪問成功
          這里使用外網(wǎng)訪問可能會遇到一些問題:
          1.需要注意服務(wù)器的防火墻以及開放的端口
          2.由于我這里是騰訊云的服務(wù)器,在云上它還有另外的一套安全組策略,也就是云上的防火墻,這里也需要開放端口
          到此,我們的項目就部署完成啦!

          結(jié)尾

          當(dāng)然,這里只是用了最簡單的項目用來部署,實際情況中已經(jīng)上了CICD與k8s了,但是如果你連最基礎(chǔ)的都玩不轉(zhuǎn)的話,遇到更復(fù)雜的情況只能寸步難行哈。

          分享到:
          標(biāo)簽:教程 服務(wù)器 環(huán)境 詳細(xì) 部署
          用戶無頭像

          網(wǎng)友整理

          注冊時間:

          網(wǎng)站:5 個   小程序:0 個  文章:12 篇

          • 51998

            網(wǎng)站

          • 12

            小程序

          • 1030137

            文章

          • 747

            會員

          趕快注冊賬號,推廣您的網(wǎng)站吧!
          最新入駐小程序

          數(shù)獨大挑戰(zhàn)2018-06-03

          數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

          答題星2018-06-03

          您可以通過答題星輕松地創(chuàng)建試卷

          全階人生考試2018-06-03

          各種考試題,題庫,初中,高中,大學(xué)四六

          運動步數(shù)有氧達人2018-06-03

          記錄運動步數(shù),積累氧氣值。還可偷

          每日養(yǎng)生app2018-06-03

          每日養(yǎng)生,天天健康

          體育訓(xùn)練成績評定2018-06-03

          通用課目體育訓(xùn)練成績評定