目次

Docker Compose

設定

タイムゾーン

# Docker
docker run -it --rm -e TZ=Asia/Tokyo python:3.7.4 bash

# docker-compose
environment:
  TZ: Asia/Tokyo

depends_on

version: "3.9"
services:
  web:
    build: .
    depends_on:
      - db
      - redis
  redis:
    image: redis
  db:
    image: postgres

top-level volumes

設定例

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

参考

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