美文网首页
docker如何优雅地编译proto文件

docker如何优雅地编译proto文件

作者: chichoyi | 来源:发表于2019-03-26 17:25 被阅读0次

背景:

grpc协议需要用到protobuf,和微服务开发人员约定好proto之后,需要自行编译,但是又不想装那么多扩展啊插件啊,可以装但是没必要,因为能用docker搞的尽量用docker搞,毕竟用完即走多爽。

文件目录:

    myItem
        - protos
            - demo.proto
        - php

demo.proto文件内容参考

syntax = "proto3";

package protobuf;

service Demo {
    rpc Multi (MultiRequest) returns (MultiReply) {}
}

message MultiRequest {
    int64 args1 = 1;
    int64 args2 = 2;
}

message MultiReply {
    int64 result = 1;
    string address = 2;
}

先拉取镜像

(当然不拉也没关系,执行下一步的命令也会自动拉的)

docker pull znly/protoc

编译PHP文件出来:

docker run --rm -v $(PWD):$(PWD) -w $(PWD) znly/protoc -Iprotos --php_out=./php ./protos/*.proto

也可以引用插件编译等功能,具体的可以查看该镜像帮助

docker run --rm znly/protoc --help

正确编译完成之后的目录结构

php目录下面多了两个文件夹

    myItem
        - protos
            -demo.proto
        - php
            - GPBMetadata
                  - ...
            - Protobuf
                  - ...

相关文章

网友评论

      本文标题:docker如何优雅地编译proto文件

      本文链接:https://www.haomeiwen.com/subject/qogvvqtx.html