微服務探索之路01篇.net6.0項目本地win10系統docker到伺服器liunx系統docker的貫通

本文介紹從創建 net6.0 項目運行在 windows 開發環境的 docker 然後正式部署至 liunx 伺服器。

1 windows10 安裝 docker

  • 下載docker-desktop
  • 雙擊下載後的文件直接安裝一直下一步到安裝成功
  • 打開 docker,點擊設置找到 Docker Engine 設置中國鏡像

中國鏡像地址可以在阿里雲找到,阿里雲鏡像加速器登錄之後可以看到一個加速地址,複製出來加入設置 docker 的配置就可以

圖片里的配置 json 如下:
{ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "debug": false, "experimental": false, "features": { "buildkit": true }, "insecure-registries": [], "registry-mirrors": [ "加速器地址" ] }

2 用 vs2022 創建一個簡單的 net6.0 項目

  • 創建項目的時候選擇啟用 docker,

創建完之後可以發現項目多了一個 Dockerfile 文件(文件屬性改為較新則複製,不然發布之後這個文件不會在目錄里),修改文件相關內容如下圖,避免運行時出錯

圖上內容最終結果為:

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base

WORKDIR /app

EXPOSE 3100

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build

WORKDIR /src

COPY . .

ENV ASPNETCORE_URLS=//+:3100

ENTRYPOINT ["dotnet", "WebApplication1.dll"]

  • 發布項目至文件夾,發布完成之後文件都在bin\Release\net6.0\publish下面
  • 打開命令窗口,切換至發布目錄下,執行docker buid生成鏡像

    注意最後的空格和點是必須的
  • 執行完之後打開docker介面可以看到生成的鏡像如下圖:
  • 執行docker run運行鏡像

    執行後打開docker介面切到容器運行可以看到運行起來的容器
  • 打開瀏覽器訪問//127.0.0.1:3100/weatherforecast出現介面結果表示成功,weatherforecast這個表示這個項目的路由如果你的項目是其他路由那就寫其他的路由不是固定的

3 將鏡像推送至dockerhub

1.打開docker介面登錄帳號(如果沒帳號請先註冊)

2.要上傳至鏡像倉庫需要打上標籤,才可以上傳,執行標籤命令docker tag 鏡像名:版本號 dockerhub註冊時候填的ID/鏡像名:版本號

3.找到打了標籤的鏡像push

4.等到進度條走完,可以登錄//hub.docker.com查看提交的鏡像

4 使用daocloud集群部署鏡像到liunx伺服器

1.在liunx伺服器安裝docker安裝資源比較慢所以使用daocloud的加速鏡像安裝執行以下命令就可以

curl -sSL //get.daocloud.io/docker | sh

2.登錄daocloud添加伺服器主機,方法在登錄有一串命令複製到伺服器執行就可以關聯
3.關聯之後找到上一步上傳的鏡像打開鏡像進行部署


4.點擊部署出現如下介面進行配置


5.部署完之後查看狀態是否正常

6.用nginx反向代理綁定域名訪問指向這個埠(自行百度如何用nginx)