摘要:是官方提供的一個工具,在集群環(huán)境中它可以幫助我們在遠(yuǎn)程的機器上安裝。安裝新版本中和版的已經(jīng)集成了,系統(tǒng)中需要自己手動安裝。這樣做是為了讓能夠免密登陸到其他機器來執(zhí)行安裝命令。而并不是簡單的安裝使用。
Docker Machine?是 Docker 官方提供的一個工具,在集群環(huán)境中它可以幫助我們在遠(yuǎn)程的機器上安裝 Dockerr。我們還可以通過 docker-machine 命令來管理這些虛擬機和 Docker。下面是來自 Docker Machine 官方文檔的一張圖,很形象!
本文主要記錄在安裝docker machine的過程中遇到的問題,給遇到相同問題的朋友一點思路,同時方便自己后面查看。
1、安裝Docker Machine新版本中Windows和Mac版的docker已經(jīng)集成了Docker machine,Linux系統(tǒng)中需要自己手動安裝。我這里使用的是Ubuntu來做Docker Host,只需要從GitHub上直接下載編譯好的文件執(zhí)行即可。Git上還提供了安裝命令,如下圖:
安裝好之后通過docker-machine -v或docker-machine version 來驗證是否安裝成功。
如果我們需要在多臺主機安裝Docker時,ssh到每臺主機多帶帶安裝也不是不行,但這樣很浪費時間精力。Docker Machine的出現(xiàn)就幫我們解決了在多臺主機上安裝Docker的問題。
準(zhǔn)備工作為了讓Docker Machine能夠幫我們自動安裝Docker到其他主機,需要做一下幾點準(zhǔn)備工作:
在Docker Machine主機生成ssh key,一一copy到需要安裝 Docker的機器。這樣做是為了讓Docker Mechine能夠免密登陸到其他機器來執(zhí)行安裝命令。
在目標(biāo)主機上設(shè)置用戶sudo時不需要輸入密碼。
在Docker Machine主機生成ssh key并copy到目標(biāo)主機在Docker Machine主機執(zhí)行ssh-keygen命令,一路回車即可。生成成功后執(zhí)行ssh-copy-id命令將ssh key copy到目標(biāo)主機。注意此處目標(biāo)主機的用戶名如何和Docker Machine主機的用戶名不同,需要明確寫出用戶名,建議采用如下方法。
ssh-copy-id userName@targetIpAddress
在目標(biāo)主機執(zhí)行如下命令
sudo vim /etc/sudoers
在最后一行添加如下代碼,一定要在最后一行添加,我在安裝過程中遇到很多ssh的莫名其妙問題就是因為這行代碼沒在最后一行。至于為什么目前也沒搞懂。。。
用戶名 ALL=(ALL:ALL) NOPASSWD : ALL
此處的用戶名需要和前面ssh-copy-id時的用戶名一致。準(zhǔn)備工作已經(jīng)就緒,下面我們來為遠(yuǎn)程主機安裝Docker。
3、為遠(yuǎn)程主機安裝Docker在Docker Mechine主機執(zhí)行如下命令
docker-machine create -d generic --generic-ip-address=xxx.xxx.xxx.xxx --generic-ssh-user=xxx hostName
需要注意的是,create命令本來是要創(chuàng)建帶有docker的虛擬機。而并不是簡單的安裝Docker使用。搞清楚這一點很重要,我自己在最開始的時候就因為沒搞清楚這個導(dǎo)致很多東西都無法理解。
但現(xiàn)在我們已經(jīng)創(chuàng)建好了虛擬機,只需要安裝Docker即可。上述命令中 -d 是 --driver 的簡寫形式,主要用來指定使用什么驅(qū)動程序來創(chuàng)建目標(biāo)主機。Docker Machine官方支持很多版本的driver,可以根據(jù)需要自行在官網(wǎng)查看使用。本例中使用 generic 就可以了。接下來以 --generic-ip-address用來設(shè)置需要安裝Docker的主機IP,--generic-ssh-user用來設(shè)置連接目標(biāo)主機時的ssh用戶,此處的user需要與前面ssh-copy-id時的用戶名一致。最后一個參數(shù) hostName是虛擬機的名稱,Docker Machine 會用它來設(shè)置目標(biāo)主機的名稱。
Docker-Machine確實為我們搭建集群環(huán)境提供了很大的便利,但在我實際操作的過程中發(fā)現(xiàn),使用Docker-Machine很容易遇到各種Bug導(dǎo)致安裝失敗,但多嘗試幾次也會安裝成功。因此在小規(guī)模集群時安裝速度不如直接安裝或者利用一鍵腳本直接安裝。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27539.html
摘要:既然要組集群那就涉及諸如的資源調(diào)度管理等等一系列問題。目前涉及集群的三個主要的技術(shù)無外乎三種。從本文開始作者將會一一實踐這幾種主要的集群技術(shù),話不多說,現(xiàn)在開始。完全運行于內(nèi)存中,體積小,啟動快。 showImg(https://segmentfault.com/img/remote/1460000015723680); 前言 相信Docker技術(shù)大家都有所了解,單個Docker能發(fā)...
摘要:參考引用會輸出幾行語句,例如的意思就是把上面的輸出當(dāng)做命令在當(dāng)前下執(zhí)行。最終的結(jié)果就是當(dāng)前下多了幾個環(huán)境變量,就是靠著這些環(huán)境變量來決定和交互的行為的。 上篇:http://www.jianshu.com/p/bde1... 已經(jīng)記錄到了再docker-machine學(xué)習(xí)中遇到的問題,但是大部分都是安裝的問題,還有在運行過程中遇到的問題,這篇我將記錄docker-machine詳細(xì)得操...
摘要:遠(yuǎn)程部署一概要發(fā)布之前,你可能會遇到以下問題你需要登錄主機,按照主機及操作系統(tǒng)特有的安裝以及配置步驟安裝,使其能運行容器你需要研發(fā)一套工具管理多個主機并監(jiān)控其狀態(tài)你在本地開發(fā),產(chǎn)品部署在公有云平臺,你希望能盡可能的減小兩個環(huán)境的差異性的出現(xiàn) Docker Machine遠(yuǎn)程部署Docker 一、docker machine概要 Docker Machine發(fā)布之前,你可能會遇到以下問題...
摘要:如果使用操作系統(tǒng)自帶包安裝,目前安裝的版本是比較舊的。之前版本如果是較低版本的系統(tǒng),需要先更新內(nèi)核。然后重復(fù)上面的步驟即可。 Quick Start Installation Ubuntu 通過系統(tǒng)自帶包安裝 Ubuntu 14.04 版本系統(tǒng)中已經(jīng)自帶了 Docker 包,可以直接安裝。 $ sudo apt-get update $ sudo apt-get install -y ...
摘要:鏈接地址首先,是基于開發(fā)的,所以本質(zhì)上在和上是無法運行的,當(dāng)然我們不可能每個人都拿作為開發(fā)機,所以官方給出了方法在和上運行。 Because the Docker daemon uses Linux-specific kernel features, you can’t run Docker natively in OS X. Instead, you must use docker-...
閱讀 2886·2021-11-18 10:02
閱讀 3748·2021-11-15 17:59
閱讀 2350·2021-09-06 15:00
閱讀 3390·2019-08-29 16:58
閱讀 1116·2019-08-26 10:34
閱讀 1641·2019-08-26 10:15
閱讀 1337·2019-08-26 10:11
閱讀 2768·2019-08-23 18:33