Docker Compose安裝組態和入門


Docker Compose是一種用於通過使用單個命令建立和啟動Docker應用程式的工具。我們可以使用它來組態應用程式的服務。

它是開發,測試和升級環境的好工具。

它提供以下命令來管理應用程式的整個生命週期。

  • 啟動,停止和重建服務
  • 檢視執行服務的狀態
  • 流式執行服務的紀錄檔輸出
  • 在服務上執行一次性命令

要實現compose,需要包括以下步驟。

  • 將應用程式環境變數放在Docker檔案中以公開存取。
  • docker-compose.yml檔案中提供和組態服務名稱,以便它們可以在隔離的環境中一起執行。
  • 執行docker-composeCompose將啟動並執行整個應用程式。

一個典型的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來執行應用程式。請參閱以下幾個步驟 -

  1. 建立一個目錄,使用以下命令 -
$ mkdir -p /home/yiibai/docker/docker-compose-example
$ cd /home/yiibai/docker/docker-composer-example
  1. 建立一個檔案: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)
  1. 建立另外一個檔案:requirements.txt,其內容如下 -
flask  
redis
  1. 建立 Dockerfile 檔案,其內容如下 -
FROM python:3.4-alpine  
ADD . /code  
WORKDIR /code  
RUN pip install -r requirements.txt  
CMD ["python", "app.py"]
  1. 建立一個 Compose 檔案: docker-compose.yml
version: '2'  
services:  
web:  
build: .  
ports:  
- "5000:5000"  
volumes:  
- .:/code  
redis:  
image: "redis:alpine"
  1. 使用Compose構建並執行Docker應用程式
$ docker-compose up

執行上述命令後,可以看到如下輸出。

現在,我們可以通過執行http url來檢視輸出。

輸出:

每次重新整理頁面時。 它顯示計數器遞增1