02.Docker Compose 使用

Docker Compose 使用

術(shù)語

首先介紹幾個術(shù)語炬称。

  • 服務(wù) (Service):一個應(yīng)用容器汁果,實際上可以運行多個相同鏡像的實例。
  • 項目 (Project):由一組關(guān)聯(lián)的應(yīng)用容器組成的一個完整業(yè)務(wù)單元玲躯。

可見据德,一個項目可以由多個服務(wù)(容器)關(guān)聯(lián)而成,Compose 面向項目進行管理跷车。

場景

最常見的項目是 Web 網(wǎng)站棘利,該項目應(yīng)該包含 Web 應(yīng)用和緩存。下面我們用 Python 來建立一個能夠記錄頁面訪問次數(shù)的 Web 網(wǎng)站朽缴。

Python 應(yīng)用

新建文件夾善玫,在該目錄中編寫 app.py 文件

from flask import Flask
from redis import Redis

app = Flask(__name__)
redis = Redis(host='redis', port=6379)

@app.route('/')
def hello():
    count = redis.incr('hits')
    return 'Hello World! 該頁面已被訪問 {} 次。\n'.format(count)

if __name__ == "__main__":
    app.run(host="0.0.0.0", debug=True)

Dockerfile

編寫 Dockerfile 文件密强,內(nèi)容為

FROM python:3.6-alpine
ADD . /code
WORKDIR /code
RUN pip install redis flask
CMD ["python", "app.py"]

Docker Compose 模板

編寫 docker-compose.yml 文件茅郎,這個是 Compose 使用的主模板文件。

version: '3'
services:
  web:
    build: .
    ports:
     - "5000:5000"
     
  redis:
    image: "redis:alpine"

運行 Compose 項目

docker-compose up -d

此時訪問本地 5000 端口或渤,每次刷新頁面系冗,計數(shù)就會加 1。

擴展閱讀

YAML 配置文件語言

YAML 是專門用來寫配置文件的語言薪鹦,非常簡潔和強大掌敬,遠比 JSON 格式方便。YAML 語言的設(shè)計目標距芬,就是方便人類讀寫涝开。它實質(zhì)上是一種通用的數(shù)據(jù)串行化格式。它的基本語法規(guī)則如下:

  • 大小寫敏感
  • 使用縮進表示層級關(guān)系
  • 縮進時不允許使用 TAB 鍵框仔,只允許使用空格舀武。
  • 縮進的空格數(shù)目不重要,只要相同層級的元素左側(cè)對齊即可

# 表示注釋离斩,從這個字符一直到行尾银舱,都會被解析器忽略瘪匿。YAML 支持的數(shù)據(jù)結(jié)構(gòu)有三種:

  • 對象: 鍵值對的集合,又稱為映射(mapping)/ 哈希(hashes) / 字典(dictionary)
  • 數(shù)組: 一組按次序排列的值寻馏,又稱為序列(sequence) / 列表(list)
  • 純量(scalars): 單個的棋弥、不可再分的值

YAML 對象

對象的一組鍵值對,使用冒號結(jié)構(gòu)表示

animal: pets

YAML 數(shù)組

一組連詞線開頭的行诚欠,構(gòu)成一個數(shù)組

- Cat
- Dog
- Goldfish

數(shù)據(jù)結(jié)構(gòu)的子成員是一個數(shù)組顽染,則可以在該項下面縮進一個空格

- Array
 - Cat
 - Dog
 - Goldfish

YAML 復合結(jié)構(gòu)

對象和數(shù)組可以結(jié)合使用,形成復合結(jié)構(gòu)

languages:
 - Ruby
 - Perl
 - Python 
websites:
 YAML: yaml.org 
 Ruby: ruby-lang.org 
 Python: python.org 
 Perl: use.perl.org 

YAML 純量

純量是最基本的轰绵、不可再分的值粉寞。以下數(shù)據(jù)類型都屬于 JavaScript 的純量

  • 字符串
  • 布爾值
  • 整數(shù)
  • 浮點數(shù)
  • Null
  • 時間
  • 日期

修改 IP 和 DNS

課程演示會采用多虛擬機模擬分布式場景,為防止 IP 沖突左腔,無法聯(lián)網(wǎng)等問題唧垦,需要預(yù)先設(shè)置好主機名、IP液样、DNS 配置

修改主機名

  • 修改 cloud.cfg 防止重啟后主機名還原
vi /etc/cloud/cloud.cfg

# 該配置默認為 false振亮,修改為 true 即可
preserve_hostname: true
  • 修改主機名
# 修改主機名
hostnamectl set-hostname deployment

# 配置 hosts
cat >> /etc/hosts << EOF
192.168.141.130 deployment
EOF

修改 IP

編輯 vi /etc/netplan/50-cloud-init.yaml 配置文件,修改內(nèi)容如下

network:
    ethernets:
        ens33:
          addresses: [192.168.141.130/24]
          gateway4: 192.168.141.2
          nameservers:
            addresses: [192.168.141.2]
    version: 2

使用 netplan apply 命令讓配置生效

修改 DNS

# 取消 DNS 行注釋鞭莽,并增加 DNS 配置如:114.114.114.114坊秸,修改后重啟下計算機
vi /etc/systemd/resolved.conf
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市撮抓,隨后出現(xiàn)的幾起案子妇斤,更是在濱河造成了極大的恐慌,老刑警劉巖丹拯,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件站超,死亡現(xiàn)場離奇詭異,居然都是意外死亡乖酬,警方通過查閱死者的電腦和手機死相,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來咬像,“玉大人算撮,你說我怎么就攤上這事∠匕海” “怎么了肮柜?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長倒彰。 經(jīng)常有香客問我审洞,道長,這世上最難降的妖魔是什么待讳? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任芒澜,我火速辦了婚禮仰剿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘痴晦。我一直安慰自己南吮,他們只是感情好,可當我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布誊酌。 她就那樣靜靜地躺著部凑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪碧浊。 梳的紋絲不亂的頭發(fā)上砚尽,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天,我揣著相機與錄音辉词,去河邊找鬼。 笑死猾骡,一個胖子當著我的面吹牛瑞躺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播兴想,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼幢哨,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了嫂便?” 一聲冷哼從身側(cè)響起捞镰,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎毙替,沒想到半個月后岸售,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡厂画,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年凸丸,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片袱院。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡屎慢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出忽洛,到底是詐尸還是另有隱情腻惠,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布欲虚,位于F島的核電站集灌,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏苍在。R本人自食惡果不足惜绝页,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一荠商、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧续誉,春花似錦莱没、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至臼隔,卻和暖如春嘹裂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背摔握。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工寄狼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人氨淌。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓泊愧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親盛正。 傳聞我的和親對象是個殘疾皇子删咱,可洞房花燭夜當晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容