Docker Compose
設定
タイムゾーン
# Docker
docker run -it --rm -e TZ=Asia/Tokyo python:3.7.4 bash
# docker-compose
environment:
TZ: Asia/Tokyo
depends_on
依存関係を設定する
コンテナの起動準備を設定できる
下記の場合、db、redisが先に起動する
version: "3.9"
services:
web:
build: .
depends_on:
- db
- redis
redis:
image: redis
db:
image: postgres
top-level volumes
他のコンテナからも参照できるボリュームらしい
参考のQiitaが一番わかりやすかった
設定例
nginx
version: '3'
services:
nginx:
image: nginx
container_name: '${PROJECT_NAME}_nginx'
ports:
- '80:80'
volumes:
- ${LOCAL_HOST_PATH}/home/config/nginx.conf:/etc/nginx/nginx.conf
- ${LOCAL_HOST_PATH}/home/log:/var/log/nginx
- ${LOCAL_HOST_PATH}/home:/var/www/html
postgres
2)
version: "3"
services:
postgres:
image: "postgres:13.3"
container_name: "${PROJECT_NAME}_postgres"
environment:
POSTGRES_USER: "${POSTGRES_USER}"
POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}"
POSTGRES_DB: "${POSTGRES_DB}"
PGDATA: "/var/lib/postgresql/data/pgdata"
ports:
- "5432:5432"
volumes:
- ${POSTGRES_PATH}/log:/var/log
- ${POSTGRES_PATH}/sql:/sql
- postgres_volume:/var/lib/postgresql/data
volumes:
postgres_volume:
nodered
version: '3'
services:
nodered:
image: nodered/node-red
container_name: nodered
ports:
- 1880:1880
volumes:
- ${NODE_RED_DATA_PATH}:/data
ubuntu
version: '3'
services:
ubuntu:
build: .
container_name: ubuntu
volumes:
- C:\Projects\private:/var/projects
tty: true
alpine
version: '3'
services:
alpine:
build: ./alpine
container_name: alpine_test
volumes:
- ${LOCAL_HOST_PATH}:/var/projects
ports:
- 5000:5000
tty: true
参考
Compose file
Docker Documentation
-
2021/04/28
公式リファレンス
Compose file version3のリファレンス
Qiita
-
2021/04/28
公式を日本語化してある
docker-composeでコンテナが起動しない
Compose file version 3 reference
Docker Documentation
-
2021/04/28
【基本を調査&検証】docker-compose.ymlのトップレベルの「volumes」