Docker Compose下模式Sidecar的使用教程,Docker Compose之Sidecar模式详解( 二 )


我可以通过docker-compose同时启动go api和.net api,最重要的还是可以让go与.net项目使用同一个network的方式,使go api通过127.0.0.1:port来调用.net api,拓扑如下

Docker Compose下模式Sidecar的使用教程,Docker Compose之Sidecar模式详解


5.go api通过127.0.0.1调用 .net api,这样.net api就成了go api的一个sidecar,为其服务
response, err := http.Post("http://127.0.0.1:6081/PDF", "multipart/form-data;boundary="+multipart.NewWriter(bytes.NewBufferString("")).Boundary(), bytes.NewReader(byteA))if err != nil {c.Bad(err.Error())return}defer response.Body.Close()if response.StatusCode != 200 {data, _ := ioutil.ReadAll(response.Body)c.Bad(string(data))return} pdfFilePth := fmt.Sprintf("./templates/tmp/%s.pdf", uuid.New())f, err := os.Create(pdfFilePth)if err != nil {c.Bad(err.Error())return}io.Copy(f, response.Body)c.Ctx.Output.Download(pdfFilePth, "data.xlsx")6.docker-compose部署
编写go的dockerfile
FROM library/golang WORKDIR /appRUN go env -w GO111MODULE=onRUN go env -w GOPROXY=https://goproxy.cn,directADD api/ /appRUN cd /appRUN go mod tidyRUN go build main.goENTRYPOINT ["/app/main"]EXPOSE 6080编写.net的dockerfile
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS baseRUN apt-get updateRUN apt-get install -y --no-install-recommends libgdiplus libc6-dev RUN apt-get install -y fontconfig xfonts-utilsCOPY /pdfprocessor/fonts//usr/share/fonts/RUN mkfontscaleRUN mkfontdirRUN fc-cache -fvWORKDIR /appEXPOSE 6081FROM mcr.microsoft.com/dotnet/sdk:6.0 AS buildWORKDIR /srcCOPY ["pdfprocessor/pdfprocessor.csproj", "pdfprocessor/"]RUN dotnet restore "pdfprocessor/pdfprocessor.csproj"COPY . .WORKDIR "/src/pdfprocessor"RUN dotnet build "pdfprocessor.csproj" -c Release -o /app/buildFROM build AS publishRUN dotnet publish "pdfprocessor.csproj" -c Release -o /app/publishFROM base AS finalWORKDIR /appCOPY --from=publish /app/publish .ENTRYPOINT ["dotnet", "pdfprocessor.dll"]编写docker-compose.yaml,让goapi与.net api使用同一个network
version: '3.4'services:pdfprocessor:image: pdfprocessorbuild:context: .dockerfile: pdfprocessor/Dockerfiledepends_on:- eduadminnetwork_mode: "service:eduadmin"eduadmin:image: eduadminbuild:context: .dockerfile: api/Dockerfileports:- "6080:6080"- "6088:6088"7.通过docker-compose up -d启动服务,查看pdf展示效果
Docker Compose下模式Sidecar的使用教程,Docker Compose之Sidecar模式详解



Docker Compose下模式Sidecar的使用教程,Docker Compose之Sidecar模式详解


最后想说docker-compose真香!
【Docker Compose下模式Sidecar的使用教程,Docker Compose之Sidecar模式详解】到此这篇关于Docker Compose之Sidecar模式的文章就介绍到这了,更多相关Docker Compose Sidecar模式内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
Docker Compose下模式Sidecar的使用教程,Docker Compose之Sidecar模式详解相关教程内容文章 。

推荐阅读