全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解使用Docker容器来源码编译etcd

背景

etcd是CoreOS公司开发的分布式键值对存储库。在Kubernetes中,我们需要使用etcd作为所有REST API对象的持久化存储。

不幸的是,在github的release中,CoreOS将etcd的二进制可执行文件都放在了亚马逊的S3存储上,在国内访问非常慢。因此,我们只能通过源码编译etcd。

过程

1. 下载etcd源码。

$ git clone https://github.com/coreos/etcd.git
$ cd etcd

2. 根据实际情况,选择合适的版本。如我这里使用的是2.2.1版本。

$ git checkout -b v2.2.1

3. 编译源码。运行该目录的build可执行文件。

$ ./build

但是,运行该命令出错,提示找不到context。

$ ./build
gopath/src/github.com/coreos/etcd/cmd/vendor/github.com/coreos/etcd/lease/leasehttp/http.go:19:2: cannot find package "context" in any of:
  /root/etcd/gopath/src/github.com/coreos/etcd/cmd/vendor/context (vendor tree)
  /usr/local/go/src/context (from $GOROOT)
  /root/etcd/gopath/src/context (from $GOPATH)
  /go/src/context
  /go/src/app/_gopath/src/context

网上搜索了一番,原来etcd需要在Golang1.7以上的环境才能编译,而我使用的是Ubuntu16.04,默认的Golang版本是1.6的,没有context包。因此,我们需要安装Golang1.7环境。

4. 使用Docker容器编译。因为我的Golang环境还运行着其他的包,为了不影响其他包运行。我这里直接使用Golang1.7的docker容器来编译etcd。

$ sudo docker run -v /home/newbee/etcd/:/opt/etcd -it --rm golang:1.7.5 bash
# cd /opt/etcd
# ./build

在-v参数中,/home/newbee/etcd是我在Docker host中(也就是我服务器的)的etcd目录,而/opt/etcd是我容器中的映射目录。

注意:从Docker hub下载golang镜像需要一定的时间。下载完成后,就进入了容器中,然后cd到/opt/etcd目录,执行编译。
待编译完成后,查看etcd的bin目录下,是否有可执行文件,如果有,就说明编译成功。然后退出容器,服务器的etcd目录中也有对应的可执行文件了。

总结

etcd需要在Golang1.7以上的版本编译。

Docker容器可以很轻松的提供Golang环境,而且不会影响原来的环境,是一种新的思路。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# docker  # etcd  # 源码编译  # Ubuntu Docker 源码编译(1.9.1 )详解  # 详解Docker源码编译安装  # 的是  # 可执行文件  # 亚马逊  # 也有  # 是一种  # 完成后  # 我在  # 放在  # 找不到  # 其他的  # 而我  # 就是我  # 镜像  # 实际情况  # 大家多多  # 键值  # 在国内  # 目录下  # 网上  # 目录中 


相关文章: 如何在腾讯云服务器快速搭建个人网站?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  内网网站制作软件,内网的网站如何发布到外网?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  建站之星如何助力网站排名飙升?揭秘高效技巧  制作网站公司那家好,网络公司是做什么的?  香港服务器选型指南:免备案配置与高效建站方案解析  建站168自助建站系统:快速模板定制与SEO优化指南  如何高效配置IIS服务器搭建网站?  如何快速搭建支持数据库操作的智能建站平台?  如何自定义建站之星网站的导航菜单样式?  如何通过cPanel快速搭建网站?  浅析上传头像示例及其注意事项  长沙企业网站制作哪家好,长沙水业集团官方网站?  子杰智能建站系统|零代码开发与AI生成SEO优化指南  北京专业网站制作设计师招聘,北京白云观官方网站?  电商平台网站制作流程,电商网站如何制作?  视频网站制作教程,怎么样制作优酷网的小视频?  已有域名和空间,如何快速搭建网站?  如何快速搭建高效香港服务器网站?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  如何通过PHP快速构建高效问答网站功能?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  香港服务器租用费用高吗?如何避免常见误区?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  红河网站制作公司,红河事业单位身份证如何上传?  如何制作网站标识牌,动态网站如何制作(教程)?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  内部网站制作流程,如何建立公司内部网站?  javascript中的try catch异常捕获机制用法分析  开源网站制作软件,开源网站什么意思?  定制建站策划方案_专业建站与网站建设方案一站式指南  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  小型网站建站如何选择虚拟主机?  教学论文网站制作软件有哪些,写论文用什么软件 ?  nginx修改上传文件大小限制的方法  建站中国官网:模板定制+SEO优化+建站流程一站式指南  建站之星如何防范黑客攻击与数据泄露?  如何使用Golang安装API文档生成工具_快速生成接口文档  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  代购小票制作网站有哪些,购物小票的简要说明?  宝塔新建站点为何无法访问?如何排查?  购物网站制作公司有哪些,哪个购物网站比较好?  黑客如何通过漏洞一步步攻陷网站服务器?  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。