亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

Docker 容器編排利器Compose(起步篇)

2024-09-01 13:55:04
字體:
來源:轉載
供稿:網友

一個大型的Docker組成的微服務應用中,容器的數量是非常龐大的,如果依賴傳統的人工配置方式進行維護,對于開發和運維來說簡直就是噩夢。Compose的出現正是為了解決這個問題。

Compose簡介

Compose的前身是Fig,Fig被Docker收購之后正式更名為Compose,Compose向下兼容Fig。Compose是一個用于定義和運行多容器Docker應用的工具,只需要一個Compose的配置文件和一個簡單的命令就可以創建并運行應用所需的所有容器。在配置文件中,所有容器通過services來定義,并使用docker-compose命令啟動或停止容器以及所有依賴容器。

安裝Compose

Compose的安裝方式有多種,這里推薦使用curl命令安裝,在安裝之前,要確保你的機器上已經安裝了Docker,可以運行sudo docker version命令來確認是否已安裝了Docker。截至目前,Compose的最新發布版為1.11.2,下面演示在一臺已經安裝好Docker的Linux主機上安裝Compose。

安裝很簡單,只需要執行下面的命令即可:

 

復制代碼代碼如下:
sudo curl -L "https://github.com/docker/compose/releases/download/1.11.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

 

等待安裝完畢后,執行下面的命令,為docker-compose添加可執行權限:

chmod +x /usr/local/bin/docker-compose

輸入docker-compose --version命令可以查看安裝結果。

除了這種安裝方式之外,還可以通過Python的pip命令安裝或將Compose安裝成Docker容器,詳情請參見https://docs.docker.com/compose/install/#install-as-a-container。

如果要卸載Compose,可以執行sudo rm /usr/local/bin/docker-compose命令。

Compose入門

下面我們通過一個簡單的例子演示Compose的使用步驟,使用Python構建一個Web應用,該應用使用Flask框架,并在Redis中維護一個命中計數(即使你不熟悉Python也沒有關系,你甚至不需要安裝Python和Redis,我們會從容器中獲取這些依賴環境)。

創建工程

首先需要一個文件夾作為項目文件夾:

mkdir composetestcd composetest

在項目文件夾下創建一個app.py的文件,并將下面的代碼拷貝并粘貼到該文件中:

from flask import Flaskfrom redis import Redisapp = Flask(__name__)redis = Redis(host='redis', port=6379)@app.route('/')def hello():  count = redis.incr('hits')  return 'Hello World! I have been seen {} times./n'.format(count)if __name__ == "__main__":  app.run(host="0.0.0.0", debug=True)

在項目文件夾下創建一個requirements.txt的文件,并將下面的代碼拷貝并粘貼到該文件中:

flaskredis

到此,我們已經完成了新建項目,編碼,添加依賴等工作。

創建Dockerfile

下面我們創建一個Dockerfile文件用于構建Docker鏡像,該鏡像包含了運行該Web應用的所有依賴,包括Python運行環境。

在項目文件夾下創建一個Dockerfile文件,并將下面的內容拷貝并粘貼到該文件中:

FROM python:3.4-alpineADD . /codeWORKDIR /codeRUN pip install -r requirements.txtCMD ["python", "app.py"]

大概解釋一下這個配置文件:

  1. 使用python-3.4-alpine作為基礎鏡像
  2. 將當前目錄添加到鏡像中/code目錄下
  3. 將/code設置為工作目錄
  4. 安裝Python依賴
  5. 設置默認執行命令

在Compose文件中定義services

在項目文件夾下創建一個docker-compose.yml文件,并將下面的內容拷貝并粘貼到該文件中:

version: '2'services: web:  build: .  ports:   - "5000:5000"  volumes:   - .:/code redis:  image: "redis:alpine"

該配置文件中包含兩個services,即web和redis。web會使用當前目錄中的Dockerfile文件構建鏡像,并將容器的5000端口暴露給主機,然后將項目文件夾掛載到容器中的/code目錄下;redis使用官方發布的鏡像構建。

構建并運行

執行下面的命令構建并運行容器:

sudo docker-compose up

容器構建完成并啟動后,可以在瀏覽器中輸入http://localhost:5000查看結果。頁面會打印“Hello World! I have been seen 1 times.”,刷新頁面后,計數會累加變成2。

更新應用

由于項目文件夾掛載到了容器中,所以我們可以直接修改項目文件夾的應用,修改的結果立即反應到容器中,而不用重新啟動容器。將app.py文件中的hello方法中的返回值修改成如下:

return 'Hello from Docker! I have been seen {} times./n'.format(count)

保存后刷新瀏覽器,發現打印結果已經更新。

Compose的其他命令

上面提到的Componse使用命令構建并啟動容器,是以前臺的方式啟動的,如果希望以后臺啟動,可以添加參數-d,比如下面這樣:

sudo docker-compose up -d

docker-compose ps命令可以查看正在運行的容器:

liuwei@liuwei-Ubuntu:~$ sudo docker-compose psName           Command        State      Ports-------------------------------------------------------------------------------------composetest_redis_1  docker-entrypoint.sh redis ...  Up   6379/tcpcomposetest_web_1   python app.py          Up   0.0.0.0:5000->5000/tcp

如果使用sudo docker-compose up -d命令以后臺方式啟動,可以用docker-compose stop命令停止。docker-compose down --volumes命令可以停止容器并將其刪除, --volumns表示同時刪除redis數據文件目錄。

有關Compose的更多命令,可以通過sudo docker-compose --help查看。

以上就是Compose的一個基本使用過程,可以發現,Compose將docker run命令整合到了一個docker-compose.yml配置文件中,對于大型Docker集群的管理是很方便的,例可以將多個service組合成更復雜的service組,為每個service指定不同的Dockerfile,然后把它們link在一起。希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品中文字幕女同| 欧美一区二区.| 日韩电影在线观看免费| 欧美人与性动交a欧美精品| 欧美精品在线视频观看| 欧美极品在线视频| 日本精品免费观看| 中文字幕国产精品| 人妖精品videosex性欧美| 亚洲国产精品高清久久久| 亚洲乱码一区二区| 日韩精品在线私人| 欧美精品九九久久| 国产精品视频网| 日韩欧美国产视频| 日韩一区二区福利| 亚洲国产另类 国产精品国产免费| 精品久久久久久中文字幕一区奶水| 久久久久久国产精品美女| 久热国产精品视频| 欧美极品美女视频网站在线观看免费| 久久久久久久久久亚洲| 欧美男插女视频| 欧美午夜久久久| 麻豆精品精华液| 亚洲xxxx3d| 97精品视频在线| 日本高清不卡在线| 136fldh精品导航福利| 亚洲风情亚aⅴ在线发布| 成人网址在线观看| 在线成人一区二区| 国产午夜精品全部视频播放| 91视频8mav| 538国产精品视频一区二区| 91精品啪在线观看麻豆免费| 久久人人97超碰精品888| 国产成人精品电影久久久| 精品国产自在精品国产浪潮| 午夜精品美女自拍福到在线| 欧美另类99xxxxx| 亚洲国产日韩欧美在线动漫| 欧美激情第三页| 国产日韩亚洲欧美| 欧美中文字幕在线视频| 91久久精品日日躁夜夜躁国产| 永久555www成人免费| 欧美日韩国产一区中文午夜| 伊人一区二区三区久久精品| 欧美激情手机在线视频| 国产免费久久av| 久久精品久久久久电影| 中文字幕av一区| 国产日韩精品在线播放| 久久久久久69| 成人激情免费在线| 51ⅴ精品国产91久久久久久| 日本一区二区不卡| 欧美老女人性生活| 91久久精品一区| 亚洲视频在线观看免费| 日韩专区在线播放| 国产成人在线一区二区| 成人亚洲欧美一区二区三区| 精品免费在线视频| 欧美电影在线免费观看网站| 国产亚洲精品综合一区91| 一区二区在线免费视频| 欧美黄色片视频| 亚洲精品久久久久久下一站| 欧美电影在线播放| 永久免费毛片在线播放不卡| 日韩免费在线免费观看| 2019亚洲日韩新视频| 国产精品久久久久77777| 亚洲日韩第一页| 成人国产精品一区| 色噜噜久久综合伊人一本| 国产精品一二三在线| 亚洲精品国产精品国产自| 久久久之久亚州精品露出| 国产91精品高潮白浆喷水| 97超级碰碰碰久久久| 国产欧美日韩中文字幕| 麻豆国产va免费精品高清在线| 欧美激情精品久久久久久免费印度| 欧美激情手机在线视频| 亚洲自拍偷拍色图| 亚洲娇小xxxx欧美娇小| 国产精品久久久久av免费| 国产精品香蕉国产| 国产丝袜一区二区三区免费视频| 亚洲成人999| 欧美中文字幕视频| 久久的精品视频| 一本一本久久a久久精品牛牛影视| 日韩经典中文字幕| 欧美国产日韩一区二区在线观看| 成人伊人精品色xxxx视频| 亚洲二区在线播放视频| 日本午夜在线亚洲.国产| 日韩av中文字幕在线| 欧美极品少妇xxxxⅹ免费视频| 亚洲激情自拍图| 久久久精品一区二区三区| y97精品国产97久久久久久| 国产欧美精品日韩| 国产亚洲精品久久久久动| 国产精品偷伦一区二区| 91在线|亚洲| 亚洲自拍偷拍色图| 亚洲美女www午夜| 热久久视久久精品18亚洲精品| 成人乱人伦精品视频在线观看| 亚洲天堂开心观看| 91免费精品视频| 成人中文字幕+乱码+中文字幕| 欧美精品videofree1080p| www.亚洲一区| 欧美国产日韩视频| 日韩电影网在线| 精品久久久一区| 热草久综合在线| 国自产精品手机在线观看视频| 在线日韩第一页| 欧美大全免费观看电视剧大泉洋| 精品偷拍一区二区三区在线看| 国产精品视频自在线| 91在线视频精品| 91日本在线视频| 日韩第一页在线| 欧美日韩免费网站| 成人天堂噜噜噜| 成人国产精品日本在线| 亚洲精品免费一区二区三区| 中文字幕久热精品视频在线| 一区二区三区视频免费在线观看| 久久久av电影| 国产精品久久久久免费a∨大胸| 亚洲国产毛片完整版| 亚洲激情在线观看视频免费| 日产日韩在线亚洲欧美| 亚洲91精品在线观看| 国产一区欧美二区三区| 成人亲热视频网站| 久久夜色精品亚洲噜噜国产mv| 日本成人激情视频| 91日韩在线视频| 日本高清不卡在线| 亚洲色图50p| 欧美电影在线免费观看网站| 欧美激情视频在线免费观看 欧美视频免费一| 国产视频精品一区二区三区| 91精品久久久久久久久久| 91性高湖久久久久久久久_久久99| 国产精品欧美一区二区三区奶水| 欧美日韩午夜视频在线观看| 亚洲色图50p| 久久99国产精品久久久久久久久| 亚洲国产成人精品电影| 欧美大片网站在线观看| 精品国内自产拍在线观看| 91视频国产高清| 日韩精品在线播放|