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