ユーザ用ツール

サイト用ツール


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

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

  • 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

参考

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