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

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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で定義したポート、ユーザー名、パスワードを入力すれば接続できる。