微服務探索之路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)