Docker Compose是一種用於通過使用單個命令建立和啟動Docker應用程式的工具。我們可以使用它來組態應用程式的服務。
它是開發,測試和升級環境的好工具。
它提供以下命令來管理應用程式的整個生命週期。
要實現compose,需要包括以下步驟。
docker-compose.yml
檔案中提供和組態服務名稱,以便它們可以在隔離的環境中一起執行。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系統中安裝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
提示說執行被拒絕。 所以要給檔案新增執行許可權。
$ sudo chmod +x /usr/local/bin/docker-compose
再次檢視Docker-compose版本 -
$ docker-compose ?version
在這一小節,我們將能過一個範例,演示如何使用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
。