你通常可以在你的主机操作系统中安装protobuf和protoc包来生成协议缓冲区文件。然而,这个解决方案的问题是,每个工程师在开始使用这些命令之前都必须经过安装。鉴于操作系统可以是Linux、Windows或Mac,在创建协议缓冲区文件后肯定会有版本差异以及其他问题。这个例子规范了一切操作的方式。你所要做的就是,只要运行docker命令,它就会为你创建所有的文件。此外,除了Docker之外,你不会在你的操作系统上安装任何东西。请注意Dockerfile 和docker-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