• 主機:iMac

    新建目錄,其下置入 docker 設定檔案,並將下載的 phpBB-3.3.0 解壓其下成 phpBB3 目錄

  • docker-compose.yaml 是主要的設定檔

    version: '3'
    
    services:
      db:
        build:
          context: ./
          dockerfile: Dockerfile-mysql
        volumes:
          - db_data:/var/lib/mysql
        networks:
          - phpbbsite
      phpmyadmin:
        depends_on:
          - db
        image: phpmyadmin/phpmyadmin
        restart: always
        ports:
          - '8080:80'
        environment:
          PMA_HOST: db
          MYSQL_ROOT_PASSWORD: password
        networks:
          - phpbbsite
      phpbb:
        depends_on:
          - db
        build:
          context: ./
          dockerfile: Dockerfile-php
        volumes: ['./phpBB3:/var/www/html', './php.ini:/usr/local/etc/php/conf.d/php.ini']
        environment:
          DB_HOST: db
          MYSQL_ROOT_PASSWORD: password
        ports:
          - '8000:80'
        networks:
          - phpbbsite
    networks:
        phpbbsite:
    volumes:
        db_data:
    
  • Dockerfile-mysql 是 mysql-5.7 的設定檔

    FROM mysql:5.7
    ENV MYSQL_ROOT_PASSWORD password
    ENV MYSQL_ALLOW_EMPTY_PASSWORD true
    CMD ["mysqld"]
    EXPOSE 3306
    
  • Dockerfile-php 是 php-7.4 與 apache2 的設定檔

    FROM php7.4-apache
    RUN docker-php-ext-install mysqli
    COPY ./ /var/www/html/
    EXPOSE 80
    
  • 其它

  1. php.ini 則是另外複製自 php7.4 的 php.ini 再修改成自己需要的設定參數。
  2. phpBB3 目錄如前述為解壓 phpBB-3.3.0.tar.gz
  • 重點
  1. 如上的結構:指令 docker-compose up 啟動,phpbb3 網站在 8000 port, phpMyAdmin 在8080 port
  2. 重點是在安裝 phpBB3 時,遇到資料庫的 host 不再是常用的 localhost, 而是採用 docker-compose.yaml 中的 mysql 區塊名稱 db.