亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解使用Docker容器來(lái)源碼編譯etcd

 更新時(shí)間:2017年03月27日 08:18:45   作者:添經(jīng)地翼  
這篇文章主要介紹了詳解使用Docker容器來(lái)源碼編譯etcd,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。

背景

etcd是CoreOS公司開(kāi)發(fā)的分布式鍵值對(duì)存儲(chǔ)庫(kù)。在Kubernetes中,我們需要使用etcd作為所有REST API對(duì)象的持久化存儲(chǔ)。

不幸的是,在github的release中,CoreOS將etcd的二進(jìn)制可執(zhí)行文件都放在了亞馬遜的S3存儲(chǔ)上,在國(guó)內(nèi)訪(fǎng)問(wèn)非常慢。因此,我們只能通過(guò)源碼編譯etcd。

過(guò)程

1. 下載etcd源碼。

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

2. 根據(jù)實(shí)際情況,選擇合適的版本。如我這里使用的是2.2.1版本。

$ git checkout -b v2.2.1

3. 編譯源碼。運(yùn)行該目錄的build可執(zhí)行文件。

$ ./build

但是,運(yùn)行該命令出錯(cuò),提示找不到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

網(wǎng)上搜索了一番,原來(lái)etcd需要在Golang1.7以上的環(huán)境才能編譯,而我使用的是Ubuntu16.04,默認(rèn)的Golang版本是1.6的,沒(méi)有context包。因此,我們需要安裝Golang1.7環(huán)境。

4. 使用Docker容器編譯。因?yàn)槲业腉olang環(huán)境還運(yùn)行著其他的包,為了不影響其他包運(yùn)行。我這里直接使用Golang1.7的docker容器來(lái)編譯etcd。

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

在-v參數(shù)中,/home/newbee/etcd是我在Docker host中(也就是我服務(wù)器的)的etcd目錄,而/opt/etcd是我容器中的映射目錄。

注意:從Docker hub下載golang鏡像需要一定的時(shí)間。下載完成后,就進(jìn)入了容器中,然后cd到/opt/etcd目錄,執(zhí)行編譯。
待編譯完成后,查看etcd的bin目錄下,是否有可執(zhí)行文件,如果有,就說(shuō)明編譯成功。然后退出容器,服務(wù)器的etcd目錄中也有對(duì)應(yīng)的可執(zhí)行文件了。

總結(jié)

etcd需要在Golang1.7以上的版本編譯。

Docker容器可以很輕松的提供Golang環(huán)境,而且不會(huì)影響原來(lái)的環(huán)境,是一種新的思路。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker安裝后導(dǎo)致的網(wǎng)絡(luò)問(wèn)題及解決

    docker安裝后導(dǎo)致的網(wǎng)絡(luò)問(wèn)題及解決

    這篇文章主要介紹了docker安裝后導(dǎo)致的網(wǎng)絡(luò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Docker中的COPY指令和ADD指令詳解

    Docker中的COPY指令和ADD指令詳解

    COPY?和?ADD?都是?Dockerfile?中的指令,有著類(lèi)似的作用。它們?cè)试S我們將文件從特定位置復(fù)制到?Docker?鏡像中,這篇文章主要介紹了Docker中的COPY指令和ADD指令,需要的朋友可以參考下
    2022-06-06
  • 基于Docker實(shí)現(xiàn)MySQL主從復(fù)制的詳細(xì)教程

    基于Docker實(shí)現(xiàn)MySQL主從復(fù)制的詳細(xì)教程

    這篇博客整理了如何在Docker環(huán)境下配置MySQL主從復(fù)制,通過(guò)創(chuàng)建和命名兩個(gè)MySQL容器,設(shè)置獨(dú)立IP,并詳細(xì)說(shuō)明了在宿主機(jī)上持久化數(shù)據(jù)、開(kāi)啟root遠(yuǎn)程訪(fǎng)問(wèn)及添加復(fù)制用戶(hù)的過(guò)程,需要的朋友可以參考下
    2024-10-10
  • Docker刪除已存在的鏡像的實(shí)現(xiàn)

    Docker刪除已存在的鏡像的實(shí)現(xiàn)

    本文主要介紹了Docker刪除已存在的鏡像的實(shí)現(xiàn),刪除已存在的 Docker 鏡像,可以使用 docker rmi 命令,下面就來(lái)詳細(xì)的介紹一下使用步驟,感興趣的可以了解一下
    2023-08-08
  • Docker深度清除鏡像緩存overlay2的實(shí)現(xiàn)

    Docker深度清除鏡像緩存overlay2的實(shí)現(xiàn)

    維清理鏡像是通過(guò)命令?docker?rm?i?刪除鏡像的,但是這條命令不會(huì)刪除docker?build命令產(chǎn)生的緩存文件,本文主要介紹了Docker深度清除鏡像緩存overlay2的實(shí)現(xiàn),感興趣的可以了解一下
    2023-12-12
  • 使用minikube安裝使用單機(jī)版K8S方式(docker)

    使用minikube安裝使用單機(jī)版K8S方式(docker)

    本文介紹了如何在centos7上使用minikube快速搭建單機(jī)版k8s,主要步驟包括:下載kubectl和docker,創(chuàng)建新用戶(hù),下載和安裝minikube,驗(yàn)證安裝情況,最后,通過(guò)執(zhí)行minikube和minikubestop啟停K8s,或使用minikubedelete徹底刪除K8S的數(shù)據(jù)
    2024-10-10
  • 利用?trap?在?docker?容器優(yōu)雅關(guān)閉前執(zhí)行環(huán)境清理的方案

    利用?trap?在?docker?容器優(yōu)雅關(guān)閉前執(zhí)行環(huán)境清理的方案

    這篇文章主要介紹了利用?trap?在?docker?容器優(yōu)雅關(guān)閉前執(zhí)行環(huán)境清理的問(wèn)題,需要在容器的啟動(dòng)腳本中,加入 trap 指令,來(lái)完成容器在退出前需要做的所有事情,本文通過(guò)腳本示例給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-12-12
  • docker?build?-t?和?docker?build?-f?區(qū)別解析

    docker?build?-t?和?docker?build?-f?區(qū)別解析

    docker build 是用于構(gòu)建Docker鏡像的命令,它允許你基于一個(gè)Dockerfile來(lái)創(chuàng)建一個(gè)鏡像,在 docker build 命令中,有兩個(gè)常用的選項(xiàng) -t 和 -f,它們有不同的作用,這篇文章主要介紹了docker?build?-t?和?docker?build?-f?區(qū)別,需要的朋友可以參考下
    2023-08-08
  • Docker查看容器IP地址的方法實(shí)現(xiàn)

    Docker查看容器IP地址的方法實(shí)現(xiàn)

    本文主要介紹了Docker查看容器IP地址的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Docker?容器中安裝?nvm工具的步驟

    Docker?容器中安裝?nvm工具的步驟

    這篇文章主要介紹了在Docker容器中安裝nvm工具的步驟,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05

最新評(píng)論