docker_dockercompose
目次
Docker Compose
- ファイル名は
docker-compose.yml
設定
タイムゾーン
- だいたいUTCのイメージが多い
- 環境変数で設定できる 1)
- イメージによりけり
# 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
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
- imageのdata下をバインドさせておけば、データは保持できる
- 量が多くなるので、制限したいところ
version: '3'
services:
nodered:
image: nodered/node-red
container_name: nodered
ports:
- 1880:1880
volumes:
- ${NODE_RED_DATA_PATH}:/data
ubuntu
- ttyの設定がないとうまく立ち上がらない
- イメージの指定ではなく、buildの方がよいと思われる
version: '3'
services:
ubuntu:
build: .
container_name: ubuntu
volumes:
- C:\Projects\private:/var/projects
tty: true
alpine
- ubuntu同様、tty、buildの設定をしておいた方がよいと思われる
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でコンテナが起動しない
- inamuu.com
- 2021/05/07
- Compose file version 3 reference
- Docker Documentation
- 2021/04/28
- 【基本を調査&検証】docker-compose.ymlのトップレベルの「volumes」
- Qiita
- 2021/04/28
1)
Dockerコンテナのタイムゾーン変更方法, Qiita, https://qiita.com/rururu_kenken/items/972314402d588e073d40, 2021/06/14
2)
postgres, Docker Hub, https://hub.docker.com/_/postgres, 2021/07/12
docker_dockercompose.txt · 最終更新: 2021/08/31 16:32 by 127.0.0.1