Docker PHP

docker-compose.yml

version: '3'

services:

  web:
    image: nginx:1.21
    depends_on:
      - app
    ports:
      - "8000:80"
    volumes:
      - ./default.conf:/etc/nginx/conf.d/default.conf
      - ./html:/var/www/html
    
  app:
    build: ./docker/php
    image: php:7.4
    depends_on:
      - db
    volumes:
      - ./php.ini:/usr/local/etc/php/php.ini
      - ./html:/var/www/html

  db: 
    image: mysql:8.0
    command:
      - --default-authentication-plugin=mysql_native_password
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_unicode_ci
    restart: always
    environment:
      LANG: C.UTF-8
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: test_db
      MYSQL_USER: user_name
      MYSQL_PASSWORD: secret_password
      TZ: 'Asia/Tokyo'
    volumes:
      - ./db:/var/lib/mysql
      - ./my.cnf:/etc/mysql/conf.d/my.cnf
    ports:
      - 3306:3306

  phpmyadmin:
    image: phpmyadmin:5
    depends_on:
      - db
    environment:
      - PMA_ARBITRARY=1
      - PMA_HOSTS=db
      - PMA_USER=user_name
      - PMA_PASSWORD=secret_password
    ports:
      - "3000:80"
    volumes:
      - ./sessions:/sessions

コメントする