docker+centos 7構築.protoファイルからjsonファイルへ
8576 ワード
dockerのインストール
https://www.docker.com/get-started
dockerインストールcentos 7ミラー
centos 7 golangバージョンのインストール
go protoc-gen-docのインストール
テスト
新しいmap.proto
コマンドの実行:
protoc --doc_out=json,yzt_proto.json:./output/./*.proto
生成されたファイル(docker cp id:コンテナ内のアドレスホストアドレス)をoutputで表示できます.
docker cp 74188c0250b6:output ./
https://www.docker.com/get-started
dockerインストールcentos 7ミラー
docker pull centos:7
docker run -d -t -i -p 8080:80 --name=centos_protoc centos:7
# centos_protoc ID,
docker ps
docker exec -it <container_id> bash
### protoc 3+
wget https://github.com/google/protobuf/releases/download/v3.6.1/protobuf-all-3.6.1.tar.gz
tar zxvf protobuf-all-3.6.1.tar.gz
yum -y install gcc automake autoconf libtool make
yum install gcc gcc-c++
./autogen.sh
./configure
make
make install
centos 7 golangバージョンのインストール
//
wget https://dl.google.com/go/go1.13.linux-amd64.tar.gz
tar -C /usr/local -vxzf go1.13.linux-amd64.tar.gz
//
vi ~/.bash_profile
export PATH=$PATH:/usr/local/go/bin
source ~/.bash_profile
go version
//
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct
go protoc-gen-docのインストール
go get -u github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc
// /root/go/src/github.com/pseudomuto/protoc-gen-doc
cmd protoc-gen-doc `go build -o protoc-gen-doc -a ` protoc-gen-doc
vi ~/.bash_profile
export PATH=$PATH:/usr/local/go/bin:/usr/bin/protoc-gen-doc
source ~/.bash_profile
テスト
新しいmap.proto
syntax = "proto3";
package xd.tds.gameConsole;
service Map {
rpc getMapDetail(GetMapDetailRequest) returns(GetMapDetailResponse) {
}
}
message GetMapDetailRequest {
string name = 1;
}
message GetMapDetailResponse {
int32 code = 1;
string msg = 2;
repeated MapData data = 3;
}
message MapData {
int32 id = 1;
string label = 2;
}
コマンドの実行:
protoc --doc_out=json,yzt_proto.json:./output/./*.proto
生成されたファイル(docker cp id:コンテナ内のアドレスホストアドレス)をoutputで表示できます.
docker cp 74188c0250b6:output ./