这里我看老师的镜像是2年前的 所以自己build了一个镜像

来源:2-3 go-micro基础之 grpc proto

城中城

2022-08-25

ps: 镜像写的比较简陋 需要你把完整的protoc命令输入才可以
如果懂得 docker 可以看看dockerfile

dockerfile内容

构建镜像 前提需要:

FROM golang:1.19.0-bullseye
#设置工作目录
WORKDIR /root/proto

COPY protoc /go/bin/protoc

RUN go env -w GOPROXY=https://goproxy.io,direct && \
    go env -w GO111MODULE=on && \
#    go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest && \
    go install google.golang.org/protobuf/cmd/protoc-gen-go@latest && \
    go install github.com/go-micro/generator/cmd/protoc-gen-micro@latest

执行 docker 构建镜像的命令(ps 进入到此目录后 执行build)

docker build -t protoc-czc -f Dockerfile .

这样就构建了 一个 protoc-czc的 镜像

使用命令(进入到你需要生成go文件目录):
window

docker run --rm -v %cd%:/root/proto -w /root/proto protoc-czc sh -c "protoc -I . --go_out=. --micro_out=. *.proto"

linux

docker run --rm -v $(pwd):/root/proto -w /root/proto protoc-czc sh -c "protoc -I . --go_out=. --micro_out=. *.proto"

这里 你也可以 --go-grpc_out=. (如果想镜像再小点 就把go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest 去掉 这个生成 其他框架文件用的)
不想要使用root权限 就在上面 生成其他账号
ps:
我想看看老师构建的dockerfile的命令 从而修改一哈

===============================================================
有点问题 我又再次修改了一哈
proto文件需要而外添加

option go_package = "./;proto";

这里 proto 就是 生成的那个2个文件 的包名 想要修改 改这个

如果有问题 可以在群上找我

写回答

1回答

Cap

2022-09-23

非常nice,镜像是固定的版本,做的时候要适应好版本。

0
0

Go微服务入门到容器化实践,落地可观测微服务项目

这可能是你全面提升Go微服务能力的好机会

865 学习 · 322 问题

查看课程