Docker Compose安裝配置和入門
Docker Compose是一種用於通過使用單個命令創建和啓動Docker應用程序的工具。我們可以使用它來配置應用程序的服務。
它是開發,測試和升級環境的好工具。
它提供以下命令來管理應用程序的整個生命週期。
- 啓動,停止和重建服務
- 查看運行服務的狀態
- 流式運行服務的日誌輸出
- 在服務上運行一次性命令
要實現compose,需要包括以下步驟。
- 將應用程序環境變量放在Docker文件中以公開訪問。
- 在
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: {}
1. 安裝Docker Compose
以下是在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
2. 使用Docker Compose運行應用程序
在這一小節,我們將能過一個示例,演示如何使用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
- 創建 Dockerfile 文件,其內容如下 -
FROM python:3.4-alpine
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
- 創建一個 Compose 文件:
docker-compose.yml
version: '2'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
redis:
image: "redis:alpine"
- 使用Compose構建並運行Docker應用程序
$ docker-compose up
運行上述命令後,可以看到如下輸出。
現在,我們可以通過運行http url
來查看輸出。
輸出:
每次刷新頁面時。 它顯示計數器遞增1
。