日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

Dapr牵手.NET学习笔记:用docker-compose部署服务

發(fā)布時(shí)間:2023/12/4 asp.net 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Dapr牵手.NET学习笔记:用docker-compose部署服务 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

上一篇聊到用兩個(gè)物理機(jī)(一個(gè)win,一個(gè)mac)來(lái)部署dapr和服務(wù) ,實(shí)現(xiàn)order調(diào)用pay的負(fù)載均衡。本篇說(shuō)一下在windows上的docker部署這三個(gè)服務(wù),達(dá)到與上一篇的效果。

三個(gè)服務(wù)的部署架構(gòu)是這樣的

首先要把OrderSystem(服務(wù)端口80)項(xiàng)目docker化,Dockerfile內(nèi)容為:

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base WORKDIR /app EXPOSE 80FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build WORKDIR /src COPY ["/OrderSystem/OrderSystem.csproj", "OrderSystem/"] RUN dotnet restore "OrderSystem/OrderSystem.csproj" COPY . . WORKDIR "/src/OrderSystem" RUN dotnet build "OrderSystem.csproj" -c Release -o /app/buildFROM build AS publish RUN dotnet publish "OrderSystem.csproj" -c Release -o /app/publishFROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "OrderSystem.dll"]

其實(shí)要把PaymentSystem(服務(wù)端口80)項(xiàng)目docker化,Dockerfile內(nèi)容為:

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base WORKDIR /app EXPOSE 80FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build WORKDIR /src COPY ["/PaymentSystem/PaymentSystem.csproj", "PaymentSystem/"] RUN dotnet restore "PaymentSystem/PaymentSystem.csproj" COPY . . WORKDIR "/src/PaymentSystem" RUN dotnet build "PaymentSystem.csproj" -c Release -o /app/buildFROM build AS publish RUN dotnet publish "PaymentSystem.csproj" -c Release -o /app/publishFROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "PaymentSystem.dll"]

同時(shí)再添加一個(gè)docker-compose項(xiàng)目(右鍵 OrderSystem或PaymentSystem,Add,選擇Container Orchestrator Support即可),命名為B2C,目錄結(jié)構(gòu)如下:

其中docker-compose.yml內(nèi)容如下

version: '3.4'services:ordersystem:image: ${DOCKER_REGISTRY-}ordersystembuild:context: ../dockerfile: /OrderSystem/Dockerfileports:- "3500:3500"volumes: - ../OrderSystem:/OrderSystem ordersystem-dapr:image: "daprio/daprd:latest"command: [ "./daprd", "-app-id", "order", "-app-port", "80" ]depends_on:- ordersystemnetwork_mode: "service:ordersystem"paymentsystem1:image: ${DOCKER_REGISTRY-}paymentsystembuild:context: ../dockerfile: /PaymentSystem/Dockerfileports:- "3601:3500"volumes: - ../PaymentSystem:/PaymentSystem paymentsystem1-dapr:image: "daprio/daprd:latest"command: [ "./daprd", "-app-id", "pay", "-app-port", "80" ]depends_on:- paymentsystem1network_mode: "service:paymentsystem1"paymentsystem2:image: ${DOCKER_REGISTRY-}paymentsystembuild:context: ../dockerfile: /PaymentSystem/Dockerfilevolumes: - ../PaymentSystem:/PaymentSystem ports:- "3602:3500"paymentsystem2-dapr:image: "daprio/daprd:latest"command: [ "./daprd", "-app-id", "pay", "-app-port", "80" ]depends_on:- paymentsystem2network_mode: "service:paymentsystem2"

為了使PaymentSystem部署多個(gè)副本,我在docker-compose.yml中配置了paymentsystem1和paymentsystem2,它們使用的都是PaymentSystem項(xiàng)目的信息。關(guān)于docker-compose就不多說(shuō)了。

進(jìn)入B2C目錄,啟動(dòng)三個(gè)服務(wù),命令如下:

docker-compose?up?-d

就會(huì)在docker中啟動(dòng)三個(gè)服務(wù),一個(gè)order,兩個(gè)pay,如下:

看一下結(jié)果吧,同樣是postman,輸入localhost:3500/v1.0/invoke/order/method/order,就會(huì)看到pay會(huì)輪詢調(diào)用。

paymentsystem1

paymentsystem1

總結(jié)

以上是生活随笔為你收集整理的Dapr牵手.NET学习笔记:用docker-compose部署服务的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。