昨天介紹了 Docker-Compose 的基本使用方式,讓我們輕鬆管理多個服務。今天我們將深入了解昨天的 docker-compose.yml 檔案,看看它都做了哪些事情。
首先,讓我們回顧一下昨天的 docker-compose.yml:
version: '3.8'
services:
backend:
build: .
container_name: backend_flask
networks:
- net
ports:
- 5000:5000
environment:
- REDIS_URL=redis://cache:6379/0
volumes:
- .:/project:ro
command: "python3 app.py"
cache:
image: redis
container_name: database_redis
networks:
- net
ports:
- 6379:6379
networks:
net:
name: frnet
driver: bridge
現在,讓我們一一解釋每個部分:
version: '3.8': 這是 Docker-Compose 文件的版本。在此版本中,version 的指定方式已被棄用,建議參考 Compose文件版本進行指定。
networks: 這個部分定義了我們的 Docker 網路。在這裡,我們使用了 bridge 驅動程式,並且給它取了一個名稱 frnet。
services: 這是我們要啟動的各種服務的區塊。在這裡,我們有兩個服務:backend 和 cache。
backend: 這是我們的 Flask 後端服務。以下是它的一些設定:
cache: 這是一個使用 Redis 的快取服務。以下是它的一些設定:
這樣,我們可以透過 docker-compose up 一次性啟動這兩個服務。
如果需要停止並刪除 Container 可以用下面這個指令。
docker-compose down