这里我看老师的镜像是2年前的 所以自己build了一个镜像
来源:2-3 go-micro基础之 grpc proto

城中城
2022-08-25
ps: 镜像写的比较简陋 需要你把完整的protoc命令输入才可以
如果懂得 docker 可以看看dockerfile
dockerfile内容
构建镜像 前提需要:
- 需要 有 最新 的 protoc
- https://github.com/protocolbuffers/protobuf/releases 这里下载
因为 docker 使用的 linux
所以记得要下载 linux版本
如: protoc-21.5-linux-x86_64.zip - 需要 与 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,镜像是固定的版本,做的时候要适应好版本。
00
相似问题
老师自己的镜像和官方镜像差别在哪里
回答 1
为什么要用老师的镜像?
回答 6