docker compose檔案的語法說明 docs.docker.com/compose/compose-fi...
基本語法結構
version: "3.8"
services: # 容器
servicename: # 服務名字,這個名字也是內部 bridge網路可以使用的 DNS name
image: # 映象的名字
command: # 可選,如果設定,則會覆蓋預設映象裡的 CMD命令
environment: # 可選,相當於 docker run裡的 --env
volumes: # 可選,相當於docker run裡的 -v
networks: # 可選,相當於 docker run裡的 --network
ports: # 可選,相當於 docker run裡的 -p
servicename2:
volumes: # 可選,相當於 docker volume create
networks: # 可選,相當於 docker network create
以 Python Flask + Redis練習:為例子,改造成一個docker-compose檔案
docker image pull redis
docker image build -t flask-demo .
# create network
docker network create -d bridge demo-network
# create container
docker container run -d --name redis-server --network demo-network redis
docker container run -d --network demo-network --name flask-demo --env REDIS_HOST=redis-server -p 5000:5000 flask-demo
docker-compose.yml 檔案如下
version: "3.8"
services:
flask-demo:
image: flask-demo:latest
environment:
- REDIS_HOST=redis-server
networks:
- demo-network
ports:
- 8080:5000
redis-server:
image: redis:latest
networks:
- demo-network
networks:
demo-network:
docker-compose 語法版本
向後相容
docs.docker.com/compose/compose-fi...
本作品採用《CC 協議》,轉載必須註明作者和本文連結