Docker Compose是一種用于通過使用單個命令創(chuàng)建和啟動Docker應用程序的工具。我們可以使用它來配置應用程序的服務。
它是開發(fā),測試和升級環(huán)境的好工具。
它提供以下命令來管理應用程序的整個生命周期。
要實現compose,需要包括以下步驟。
docker-compose.yml
文件中提供和配置服務名稱,以便它們可以在隔離的環(huán)境中一起運行。docker-compose
,Compose
將啟動并運行整個應用程序。一個典型的docker-compose.yml
文件具有以下格式和參數。
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}
以下是在Ubuntu系統(tǒng)中安裝Docker Compose的說明。
curl -L http://github.com/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
查看Docker-compose版本
$ docker-compose --version
提示說執(zhí)行被拒絕。 所以要給文件添加執(zhí)行權限。
$ sudo chmod +x /usr/local/bin/docker-compose
再次查看Docker-compose版本 -
$ docker-compose ?version
在這一小節(jié),我們將能過一個示例,演示如何使用Docker Compose來運行應用程序。請參閱以下幾個步驟 -
$ mkdir -p /home/yiibai/docker/docker-compose-example
$ cd /home/yiibai/docker/docker-composer-example
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! I have been seen {} times.\n'.format(count)
if __name__ == "__main__":
app.run(host="0.0.0.0", debug=True)
requirements.txt
,其內容如下 -flask
redis
FROM python:3.4-alpine
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
docker-compose.yml
version: '2'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
redis:
image: "redis:alpine"
$ docker-compose up
運行上述命令后,可以看到如下輸出。
現在,我們可以通過運行http url
來查看輸出。
輸出:
每次刷新頁面時。 它顯示計數器遞增1
。