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