Docker $ Docker三劍客:Docker-Compose
阿新 • • 發佈:2018-12-19
一.Docker-Compose 簡介
簡介
1.Docker官方三劍客專案之一。 2.負責快速部署分散式應用。 3.定義和執行多個Docker容器應用。
功能
1.有時候,我們的一個專案由多個服務,如Web專案,資料庫,負載均衡相互配合完成某項任務,這時就需要docker-compose。 2.通過docker-compose.yml模板檔案定義一組關聯的容器為一個專案(project)。 3.預設管理物件是專案,通過子命令對專案中一組容器進行便捷宣告週期管理。
基本概念
- 1.服務(service)
1.應用容器,可以包括若干相同映象的容器例項。
- 2 .專案(project)
1.一組關聯的應用容器組成完整的業務單元。 2.一個專案由多個服務(容器)關聯而成,compose 面向專案進行管理。 3.在docker-compose.yml檔案中定義。
二.實戰(CentOS)
1.下載docker-compose
# curl -L https://github.com/docker/compose/releases/download/1.20.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
2.安裝
# chmod +x /usr/local/bin/docker-compose
3.檢視版本
# docker-compose version
5.在任意目錄新建資料夾
# mkdir hlyCompose
6.進入資料夾
# cd hlyCompose
7.新建檔案加入程式碼
# vi 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)
儲存退出
8.編寫Dockerfile檔案
# vi Dockerfile
FROM python:3.6-alpine
ADD . /code
WORKDIR /code
RUN pip install redis flask
CMD ["python", "app.py"]
9.編寫docker-compose.yml
# vi docker-compose.yml
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
redis:
image: "redis:alpine"
10.執行命令
# docker-compose up
11.輸入網址:5000重新整理訪問
完成!