用Docker创建gRPC协议缓冲区文件

162 阅读1分钟

你通常可以在你的主机操作系统中安装protobuf和protoc包来生成协议缓冲区文件。然而,这个解决方案的问题是,每个工程师在开始使用这些命令之前都必须经过安装。鉴于操作系统可以是Linux、Windows或Mac,在创建协议缓冲区文件后肯定会有版本差异以及其他问题。这个例子规范了一切操作的方式。你所要做的就是,只要运行docker命令,它就会为你创建所有的文件。此外,除了Docker之外,你不会在你的操作系统上安装任何东西。请注意Dockerfiledocker-compose.yaml 文件。*.pb.go 将在运行make proto-compile 命令后被添加/更新。在你的应用程序中,你所运行的只是go get -u google.golang.org/grpc 命令。

结构

├── Makefile

文件

docker-compose.yaml

services:

Docker文件

FROM golang:1.18.2-buster

league.proto

syntax = "proto3";

team.proto

syntax = "proto3";

制作文件

.PHONY: help

client/main.go

package main

server/main.go

package main