用Compose建立容器

假設docker run
要設定的選項太多,可以寫一個設定檔來啟動,這就是docker compose
主要做的事情。
安裝Docker Compose
$ pip install docker-compose
$ docker-compose --version
docker-compose version 1.25.5, build unknown
撰寫Docker Compose檔
以下是單個容器container的yaml檔
version: '3' # yaml的版本
services:
app:
image: cutejaneii/my_api:june2020 # 映像檔
volumes:
- /var/lib/docker/volumes/volume_nfs/_data:/nfs # volume
ports:
- 8801:8801 # PORT MAPPING
restart: always # 啟動POLICY
environment: # 環境變數
- API_CASSANDRA_CONTACT_POINTS=192.168.95.1,192.168.95.2
- API_CASSANDRA_KEY_SPACE=my_keyspace
- API_NAME=my_api
volumes:
volume_nfs:
若需要同時啟動多個容器,會長得像以下這樣,同時啟動web, redis 2個容器,以下範例來自官網
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
environment:
FLASK_ENV: development
redis:
image: "redis:alpine"
執行Docker Compose
依照docker-compose.yml檔,在前景啟動容器
$ docker-compose -f docker-compose.yml up
依照docker-compose.yml檔,在背景啟動容器
$ docker-compose -d docker-compose.yml up
Last updated
Was this helpful?