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