Dapr牵手.NET学习笔记:用docker-compose部署服务
上一篇聊到用兩個(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)容為:
其實(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)容如下
為了使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)題。
- 上一篇: VS2022+.NET6 RC1+C#1
- 下一篇: 【分享】154页微软WPF官方手册(含.