Docker環境にPHP7.4とPostgre9.6の環境を立ち上げるdocker-compose.ymlファイルを作ってみた。

version: '3.5'

services:
  php:
    container_name: php
    image: php:7.4-apache
    volumes:
      - ./html:/var/www/html
    ports:
      - 8080:80
    depends_on:
      - db
    networks:
      - front_bridge
      - app_backend_bridge

  db:
    container_name: db
    image: postgres:9.6
    volumes:
      - pgsql_data:/var/lib/postgresql/data
    environment:
      POSTGRES_USER: root
      POSTGRES_PASSWORD: root
      POSTGRES_INITDB_ARGS: "--encoding=UTF-8"
    hostname: postgres
    restart: always
    user: root
    ports:
      - 5432:5432
    networks:
      - app_backend_bridge

networks:
  front_bridge:
    name: front_bridge
    external: true
  app_backend_bridge:
    name: app_backend_bridge
    driver: bridge

volumes:
  pgsql_data:

自分用のメモなので、docker-composeについて特に解説はしないが、データベースの保存先はDockerのボリュームを指定していることだけ書いておく。

また、GUIで接続する際はホスト名にlocalhostを指定し、docker-compose.ymlで定義したポート、ユーザー名、パスワードを入力すれば接続できる。