摘要:大家好,今天我們來(lái)了解如何使用在各種云服務(wù)提供商的平臺(tái)上部署。是一個(gè)可以幫助我們?cè)谧约旱碾娔X云服務(wù)提供商的平臺(tái)以及我們數(shù)據(jù)中心的機(jī)器上創(chuàng)建機(jī)器的應(yīng)用程序。支持幾個(gè)流行的云平臺(tái),如及其它等等,所以我們可以在不同的平臺(tái)使用相同的接口來(lái)部署。
大家好,今天我們來(lái)了解如何使用Docker Machine在各種云服務(wù)提供商的平臺(tái)上部署Docker。Docker Machine是一個(gè)可以幫助我們?cè)谧约旱碾娔X、云服務(wù)提供商的平臺(tái)以及我們數(shù)據(jù)中心的機(jī)器上創(chuàng)建Docker機(jī)器的應(yīng)用程序。它為創(chuàng)建服務(wù)器、在服務(wù)器中安裝Docker、根據(jù)用戶需求配置Docker客戶端提供了簡(jiǎn)單的解決方案。驅(qū)動(dòng)API對(duì)本地機(jī)器、數(shù)據(jù)中心的虛擬機(jī)或者公用云機(jī)器都適用。Docker Machine支持Windows、OSX和Linux,并且提供一個(gè)獨(dú)立的二進(jìn)制文件,可以直接使用。它讓我們可以充分利用支持Docker的基礎(chǔ)設(shè)施的生態(tài)環(huán)境合作伙伴,并且使用相同的接口進(jìn)行訪問(wèn)。它讓人們可以使用一個(gè)命令來(lái)簡(jiǎn)單而迅速地在不同的云平臺(tái)部署Docker容器。
1. 安裝Docker Machine
Docker Machine可以很好地支持每一種Linux發(fā)行版。首先,我們需要從Github網(wǎng)站下載版本的。這里我們使用curl來(lái)下載目前0.2.0版本的Docker Machine。
在64位操作系統(tǒng)運(yùn)行:
# curl -L https://github.com/docker/machine/releases/download/v0.2.0/docker-machine_linux-amd64 > /usr/local/bin/docker-machine
在32位操作系統(tǒng)運(yùn)行:
# curl -L https://github.com/docker/machine/releases/download/v0.2.0/docker-machine_linux-i386 > /usr/local/bin/docker-machine
下載版本的Docker Machine并將docker-machine文件放到了/usr/local/bin/后,添加執(zhí)行權(quán)限:
# chmod +x /usr/local/bin/docker-machine
完成如上操作后,我們需要確認(rèn)已經(jīng)成功安裝docker-machine了??梢赃\(yùn)行如下命令檢查,它會(huì)輸出系統(tǒng)中docker-machine的版本:
# docker-machine -v
Installing Docker Machine
要在我們的機(jī)器上啟用docker命令,需要使用如下命令安裝Docker客戶端:
? ? # curl -L https://get.docker.com/builds/linux/x86_64/docker-latest > /usr/local/bin/docker
? ? # chmod +x /usr/local/bin/docker
2. 創(chuàng)建機(jī)器
在自己的Linux機(jī)器上安裝好了Docker Machine之后,我們想要將一個(gè)docker虛擬機(jī)部署到云服務(wù)器上。Docker Machine支持幾個(gè)流行的云平臺(tái),如igital Ocean、Amazon Web Services(AWS)、Microsoft Azure、Google Cloud Computing及其它等等,所以我們可以在不同的平臺(tái)使用相同的接口來(lái)部署Docker。本文中我們會(huì)使用digitalocean驅(qū)動(dòng)在Digital Ocean的服務(wù)器上部署Docker,--driver選項(xiàng)指定digitalocean驅(qū)動(dòng),--digitalocean-access-token選項(xiàng)指定Digital Ocean Control Panel提供的API Token,命令最后的是我們創(chuàng)建的Docker虛擬機(jī)的機(jī)器名。運(yùn)行如下命令:
# docker-machine create --driver digitalocean --digitalocean-access-token
# eval "$(docker-machine env linux-dev)"
Docker Machine Digitalocean Cloud
注意: 這里linux-dev是我們將要?jiǎng)?chuàng)建的機(jī)器的名稱。
運(yùn)行如上命令后,我們可以在Digital Ocean Droplet Panel中看到一個(gè)具有默認(rèn)配置的droplet已經(jīng)被創(chuàng)建出來(lái)了。
DigitalOcean Droplet Panel
簡(jiǎn)便起見(jiàn),docker-machine會(huì)使用默認(rèn)配置來(lái)部署Droplet。我們可以通過(guò)增加選項(xiàng)來(lái)定制我們的Droplet。這里是一些digitalocean相關(guān)的選項(xiàng),我們可以使用它們來(lái)覆蓋Docker Machine所使用的默認(rèn)配置。
--digitalocean-image "ubuntu-14-04-x64" 用于選擇Droplet的鏡像
--digitalocean-ipv6 enable 啟用IPv6網(wǎng)絡(luò)支持
--digitalocean-private-networking enable 啟用專用網(wǎng)絡(luò)
--digitalocean-region "nyc3" 選擇部署Droplet的區(qū)域
--digitalocean-size "512mb" 選擇內(nèi)存大小和部署的類型
如果你想在其他云服務(wù)使用docker-machine,并且想覆蓋默認(rèn)的配置,可以運(yùn)行如下命令來(lái)獲取Docker Mackine默認(rèn)支持的對(duì)每種平臺(tái)適用的參數(shù)。
# docker-machine create -h
3. 選擇活躍主機(jī)
部署Droplet后,我們想馬上運(yùn)行一個(gè)Docker容器,但在那之前,我們需要檢查下活躍主機(jī)是否是我們需要的機(jī)器??梢赃\(yùn)行如下命令查看。
# docker-machine ls
Docker Machine List
ACTIVE一列有“*”標(biāo)記的是活躍主機(jī)。
現(xiàn)在,如果我們想將活躍主機(jī)切換到需要的主機(jī),運(yùn)行如下命令:
# docker-machine active linux-dev
注意:這里,linux-dev是機(jī)器名,我們打算激活這個(gè)機(jī)器,并且在其上運(yùn)行Docker容器。
4. 運(yùn)行一個(gè)Docker容器
現(xiàn)在,我們已經(jīng)選擇了活躍主機(jī),就可以運(yùn)行Docker容器了??梢詼y(cè)試一下,運(yùn)行一個(gè)busybox容器來(lái)執(zhí)行echo hello word命令,這樣就可以得到輸出:
# docker run busybox echo hello world
注意:如果你試圖在一個(gè)裝有32位操作系統(tǒng)的宿主機(jī)部署Docker容器,使用SSH來(lái)運(yùn)行docker是個(gè)好辦法。這樣你就可以簡(jiǎn)單跳過(guò)這一步,直接進(jìn)入下一步。
5. SSH到Docker機(jī)器中
如果我們想在機(jī)器或者Droplet上控制之前部署的Docker機(jī)器,可以使用docker-machine ssh命令來(lái)SSH到機(jī)器上:
# docker-machine ssh
Docker Machine SSH
SSH到機(jī)器上之后,我們可以在上邊運(yùn)行任何Docker容器。這里我們運(yùn)行一個(gè)nginx:
# docker run -itd -p 80:80 nginx
操作完畢后,我們需要運(yùn)行exit命令來(lái)退出Droplet或者服務(wù)器。
# exit
5. 刪除主機(jī)
刪除在運(yùn)行的主機(jī)以及它的所有鏡像和容器,我們可以使用docker-machine rm命令:
# docker-machine rm linux-dev
Docker Machine Remove All
使用docker-machine ls命令檢查是否成功刪除了:
# docker-machine ls
Docker Machine Remove Check
6. 在不使用驅(qū)動(dòng)的情況新增一個(gè)主機(jī)
我們可以在不使用驅(qū)動(dòng)的情況往Docker增加一臺(tái)主機(jī),只需要一個(gè)URL。它可以使用一個(gè)已有機(jī)器的別名,所以我們就不需要每次在運(yùn)行docker命令時(shí)輸入完整的URL了。
$ docker-machine create --url=tcp://104.131.50.36:2376 custombox
7. 管理主機(jī)
如果你已經(jīng)讓Docker運(yùn)行起來(lái)了,可以使用簡(jiǎn)單的docker-machine stop命令來(lái)停止所有正在運(yùn)行的主機(jī),如果需要再啟動(dòng)的話可以運(yùn)行docker-machine start:
# docker-machine stop
# docker-machine start
你也可以使用如下命令來(lái)使用機(jī)器名作為參數(shù)來(lái)將其停止或啟動(dòng):
$ docker-machine stop linux-dev
$ docker-machine start linux-dev
總結(jié)
Docker Machine是一個(gè)非常棒的工具,可以使用Docker容器快速地部署服務(wù)。文中我們使用Digital Ocean Platform作演示,但Docker Machine還支持其他平臺(tái),如Amazon Web Service、Google Cloud Computing。使用Docker Machine,快速、安全地在幾種不同平臺(tái)部署Docker容器變得很簡(jiǎn)單了。因?yàn)镈ocker Machine還是Beta版本,不建議在生產(chǎn)環(huán)境使用。如果你有任何問(wèn)題、建議、反饋,請(qǐng)?jiān)谙路降脑u(píng)論框中寫(xiě)下來(lái),我們會(huì)改進(jìn)或者更新我們的內(nèi)容。謝謝!享受吧 :-)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/4163.html
摘要:大家好,今天我們來(lái)了解如何使用在各種云服務(wù)提供商的平臺(tái)上部署。是一個(gè)可以幫助我們?cè)谧约旱碾娔X云服務(wù)提供商的平臺(tái)以及我們數(shù)據(jù)中心的機(jī)器上創(chuàng)建機(jī)器的應(yīng)用程序。支持幾個(gè)流行的云平臺(tái),如及其它等等,所以我們可以在不同的平臺(tái)使用相同的接口來(lái)部署。 大家好,今天我們來(lái)了解如何使用Docker Machine在各種云服務(wù)提供商的平臺(tái)上部署Docker。Docker Machine是一個(gè)可以幫助我們?cè)?..
摘要:按照指示,分別安裝和,然后測(cè)試安裝結(jié)果接下來(lái),根據(jù)以下項(xiàng)目結(jié)構(gòu)從克隆一份項(xiàng)目或自己創(chuàng)建項(xiàng)目現(xiàn)在我們準(zhǔn)備容器運(yùn)行開(kāi)啟,只需運(yùn)行這個(gè)命令設(shè)置一個(gè)新的開(kāi)發(fā)環(huán)境。 原文地址:Django Development With Docker Compose and Machine 以下為譯文 Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器...
摘要:應(yīng)用被綁定到虛擬機(jī)或者容器并且成為主要的管理元素。采用的方法是他們正在使用的一系列實(shí)現(xiàn)容器自動(dòng)化的工具,和。,使用相同的作為標(biāo)準(zhǔn)引擎實(shí)例,被設(shè)計(jì)用來(lái)提供容器可擴(kuò)展的環(huán)境。 歡迎來(lái)到后硬件時(shí)代。在這個(gè)時(shí)代我們把容器或者是虛擬機(jī)遷移到我們需要的地方,而不需要考慮容器或者虛擬機(jī)。這里我們介紹一些新的Docker工具來(lái)做這份工作。 構(gòu)建下一代應(yīng)用是一回事,管理和運(yùn)行它們是另一回事。 showI...
閱讀 3587·2019-08-30 15:55
閱讀 1382·2019-08-29 16:20
閱讀 3668·2019-08-29 12:42
閱讀 2670·2019-08-26 10:35
閱讀 1021·2019-08-26 10:23
閱讀 3418·2019-08-23 18:32
閱讀 906·2019-08-23 18:32
閱讀 2902·2019-08-23 14:55