go micro 学习笔记 2:环境搭建(可运行示例)
1、創建鏡像:
docker run -it -v /opt:/wz -p 8080:8080 -p 8081:8081 -p 8082:8082 --name gomicro centos:latest ?/sbin/init
-v是將主機的/opt目錄映射到容器的/wz目錄,所有在主機的/opt下載資源可以給容器使用
2、進入鏡像
docker exec -it gomicro /bin/bash
3、安裝golang
在主機:
wget https://studygolang.com/dl/golang/go1.9.2.linux-amd64.tar.gz
tar zxvf go1.9.2.linux-amd64.tar.gz
在容器:
cp go /usr/local/ -rf
cd /;mkdir Golang
cd Golang;mkdir src;mkdir pkg;mkdir bin
在/etc/profile文件尾部添加下面內容:
export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin
export GOPKG=$GOROOT/pkg/tool/linux_amd64
export GOARCH=amd64
export GOOS=linux
export GOPATH=/Golang
export PATH=$PATH:$GOBIN:$GOPKG:$GOPATH/bin
source /etc/profile
注意:解壓文件時遇到系統時間不對的問題:
安裝ntpdate工具
# yum -y install ntp ntpdate
設置系統時間與網絡時間同步
# ntpdate cn.pool.ntp.org
將系統時間寫入硬件時間
# hwclock --systohc
[root@a3bb11f6b1fa Golang]# go version
go version go1.9.2 linux/amd64
4、安裝micro環境
a)?依賴
yum install -y ?git wget
b)?依賴 etcd(服務發現)
?go get -u -v github.com/coreos/etcd
(如果失敗,就到github上直接下載移動到指定目錄:src/github.com/coreos/etcd/)
cd etcd;./build;./bin/etcd &
c)?Go micro
go get -u -v github.com/micro/go-micro
go get -u -v github.com/micro/protobuf/{proto,protoc-gen-go}
(https fetch failed: Get https://golang.org/x/net)想辦法在github上下載
cd /Golang/src/golang.org/x/
git clone https://github.com/golang/text.git
git clone https://github.com/golang/net.git
git clone https://github.com/golang/crypto.git
d)?Toolkit
go get -u -v github.com/micro/micro
go get -u -v github.com/micro/go-plugins
e)?例子
go get -u -v github.com/micro/examples
f)?運行例子適配etcd.
/Golang/src/github.com/micro/examples/greeter/
i.?srv
cd /Golang/src/github.com/micro/examples/greeter/srv
vim main.go 添加
_ "github.com/micro/go-plugins/registry/etcdv3"
go build 報錯:
(cannot find google.golang.org/grpc)
mkdir google.golang.org;cd google.golang.org
git clone https://github.com/grpc/grpc-go.git
mv grpc-go grpc
git clone https://github.com/google/go-genproto.git
mv go-genproto genproto
進入srv
然后重新go build;go install
后臺運行
srv ?--registry=etcdv3 --registry_address=127.0.0.1:2379 &
?
ii.?api
cd /Golang/src/github.com/micro/examples/greeter/api
vim api.go 添加
_ "github.com/micro/go-plugins/registry/etcdv3"
go build;go install
后臺運行
api --registry=etcdv3 --registry_address=127.0.0.1:2379 &
????????????????????
?
iii.?micro
cd /Golang/src/github.com/micro/micro
vim main.go 添加
_ "github.com/micro/go-plugins/registry/etcdv3"
后臺運行
micro --registry=etcdv3 --registry_address=127.0.0.1:2379 api &
?
iv.?查看服務發現
?
v.?訪問
curl http://localhost:8080/greeter/say/hello?name=John
?????
5、將被安裝好的環境打包
docker export gomicro > gomicro.tar
6、將環境導入成鏡像
docker import gomicro.tar gomicro
docker p_w_picpaths
docker run -it -v /opt:/wz -p 8080:8080 -p 8081:8081 -p 8082:8082 --name gomicro3 gomicro ??/sbin/init
轉載于:https://blog.51cto.com/11140372/1976739
總結
以上是生活随笔為你收集整理的go micro 学习笔记 2:环境搭建(可运行示例)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 运用物联网、云计算等技术,企业管理将更加
- 下一篇: 租用游戏服务器需要考虑些什么