主頁(yè) > 知識(shí)庫(kù) > Docker結(jié)合自動(dòng)化編排工具Fig的使用方法

Docker結(jié)合自動(dòng)化編排工具Fig的使用方法

熱門標(biāo)簽:免費(fèi)高德地圖標(biāo)注 電話外呼系統(tǒng)線路哪家公司做得好 外呼系統(tǒng)工作推進(jìn) 儋州電銷機(jī)器人廠家 索契地圖標(biāo)注app 地圖標(biāo)注員項(xiàng)目 成都人工外呼系統(tǒng)平臺(tái) 地圖標(biāo)注用小紅旗 巴東單位怎么做地圖標(biāo)注

Fig是一個(gè)基于Docker的用于快速搭建開發(fā)環(huán)境的工具,目前Fig團(tuán)隊(duì)已經(jīng)加入Docker公司。Fig通過一個(gè)配置文件來管理多個(gè) Docker容器,非常適合組合使用多個(gè)容器進(jìn)行開發(fā)的場(chǎng)景。Fig可以和Docker一起來構(gòu)建基于Docker的復(fù)雜應(yīng)用。本文詳細(xì)介紹了Fig的安裝以及使用。
什么是編排?
編排(譯者注:Orchestration,翻譯為編排)是指同時(shí)管理多個(gè)容器的行為。當(dāng)你剛開始玩Docker 的時(shí)候,你只需要操作一個(gè)容器。緊接著你學(xué)習(xí)了網(wǎng)絡(luò)并得知把所有進(jìn)程都放入同一個(gè)容器中并不合適,然后不知不覺你就發(fā)現(xiàn)自己已經(jīng)建立了多容器的基礎(chǔ)架構(gòu)。 你第一次嘗試可能不會(huì)感到復(fù)雜,但是當(dāng)使用兩個(gè)或者三個(gè)容器的時(shí)候,你就會(huì)覺得很麻煩。手動(dòng)連接容器、管理卷,很快你就亂了,應(yīng)該有更好更實(shí)用的工具來做 這件事。
Fig簡(jiǎn)介

這個(gè)更實(shí)用的工具稱為Fig。Fig是Orchard的一個(gè)產(chǎn)品并很快成為自動(dòng)化Docker容器編排一個(gè)事實(shí)標(biāo)準(zhǔn),目前Fig已經(jīng)被Docker公司收購(gòu)并成為官方支持的解決方案。
安裝Fig

Fig是一個(gè)Python Package,你可以使用以下命令來安裝:


復(fù)制代碼
代碼如下:
$ sudo pip install -U fig

就這么簡(jiǎn)單。如果不能工作,可以從Fig的官方文檔中了解更多信息。
使用Fig

使用Fig來編排一個(gè)基礎(chǔ)設(shè)施,你首先需要在YAML配置文件中描述它。描述語法很簡(jiǎn)單,和Docker有點(diǎn)類似。
下面是Pagekit CMS的Fig配置示例:


復(fù)制代碼
代碼如下:
web:
image: ubermuda/pagekit
ports:
- 80
links:
- db:pagekit_db_1
volumes_from:
- data
db:
image: orchardup/mysql
environment:
MYSQL_ROOT_PASSWORD: changethis
MYSQL_DATABASE: pagekit
data:
image: busybox
command: /bin/true
volumes:
- /pagekit/storage
- /pagekit/app/cache

這個(gè)配置文件定義了三個(gè)不同的容器。

web容器是面向web方面的容器,它基于ubermuda/pagekit鏡像構(gòu)建,你可以從GitHub上獲取ubermuda/pagekit的源碼,web容器會(huì)暴露80端口(通過ports參數(shù)),使用別名pagekit_db_1(links)連接到db容器,并且data容器的卷(volumes)也會(huì)被掛載到web容器。

從db容器中我們能看到在容器中定義環(huán)境變量是多么簡(jiǎn)單:只要使用environment配置即可。在示例中,我們?cè)谂渲梦募卸x了所有的值,但你也可以省略這些值,這樣容器會(huì)從它的宿主機(jī)中獲取。


復(fù)制代碼
代碼如下:
db:
environment:
MYSQL_ROOT_PASSWORD

所述的MYSQL_ROOT_PASSWORD環(huán)境變量被來自主機(jī)的同名環(huán)境變量填充。

最后,data容器通過volumes參數(shù)定義了即將使用的所有目錄作為共享卷目錄。

配置文件寫完后,你只需要一個(gè)fig up命令即可啟動(dòng)你的基礎(chǔ)設(shè)施。


復(fù)制代碼
代碼如下:
$ fig up
Creating dockerpagekit_db_1...
...
Creating dockerpagekit_data_1...
Creating dockerpagekit_web_1...
...
Attaching to dockerpagekit_db_1, dockerpagekit_web_1
...
db_1 | 141110 4:14:02 [Note] /usr/sbin/mysqld: ready for connections.
db_1 | Version: '5.5.38-0ubuntu0.12.04.1-log' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu)
...
web_1 | 2014-11-10 04:15:20,750 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
web_1 | 2014-11-10 04:15:20,750 INFO success: php5-fpm entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

完整的啟動(dòng)日志有點(diǎn)太長(zhǎng)了,所以我只截取了一部分。正如你所看到的,F(xiàn)ig創(chuàng)建了三個(gè)容器,dockerpagekit_db_1可以連接到dockerpagekit_web_1,正是我們想要的。

你可能還注意到有一個(gè)數(shù)據(jù)容器沒有日志線,那是因?yàn)?/bin/true 命令無法正常輸出。

現(xiàn)在你可以在另一個(gè)終端中運(yùn)行docker ps命令來檢查一切是否運(yùn)行正常,同時(shí),可是使用瀏覽器來確認(rèn)web容器是否正常啟動(dòng)。(你首先需要確認(rèn)映射端口,可以使用docker ps或docker port)。
說明

截至本文寫作之時(shí),F(xiàn)ig不支持遠(yuǎn)程編排,這意味著你只能在單臺(tái)主機(jī)上編排一個(gè)基礎(chǔ)設(shè)施。

標(biāo)簽:江蘇 茂名 安康 龍巖 儋州 鄂州 長(zhǎng)春 鶴壁

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Docker結(jié)合自動(dòng)化編排工具Fig的使用方法》,本文關(guān)鍵詞  Docker,結(jié)合,自動(dòng)化,編排,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Docker結(jié)合自動(dòng)化編排工具Fig的使用方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Docker結(jié)合自動(dòng)化編排工具Fig的使用方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章