docker-compose を利用して、LAMP環境でCodeigniter 4の環境作成メモ
フォルダ構成はこんな感じ
/root
|- docker-compose.yml
|- php.ini
|- /html
|-phpinfo.php
|- /php
|- Dockerfile
|- /mysql
|- /phpmyadmin
docker-compose.yml
version: '3'
services:
php:
# image: php:7.3-apache
build:
context: ./php
dockerfile: Dockerfile
volumes:
- ./php.ini:/usr/local/etc/php/php.ini
- ./html:/var/www/html
ports:
- 8080:80
mysql:
image: mysql:5.7
volumes:
- ./mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=test
- MYSQL_USER=admin
- MYSQL_PASSWORD=admin
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
- PMA_ARBITRARY=1
- PMA_HOST=mysql
- PMA_USER=admin
- PMA_PASSWORD=admin
links:
- mysql
ports:
- 4040:80
volumes:
- ./phpmyadmin/sessions:/sessions
Dockerファイル
FROM php:7.3-apache
RUN apt-get update && apt-get install -y libicu-dev git unzip libzip-dev zlib1g-dev \
&& docker-php-ext-install pdo_mysql mysqli mbstring intl zip
RUN apt-get clean
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
Composerを利用するために、unzip, zip, libzip-dev, zlib1g-devが必要。Codeigniterを利用するのにintlが必要
Terminalからdockerを利用するrootフォルダでdocker-compose up -d またはdocker-compose up --build -d で起動。
成功したら、
docker-compose exec php /bin/bash
でコンテナ内に入り、
composer create-project codeigniter4/appstarter project-root-ci4 -s rc
を実行でCodeigniter 4がインストールされます。あとは、自分の開発環境にしたがって、Codeigniter 内にあるapp/Config/Paths.php などの設定を変更。
デフォルトのままの場合は、http://localhost:8080/project-root-ci4/public/ にブラウザからアクセス。
が出たら成功。
参考サイト
https://codeigniter4.github.io/userguide/installation/installing_composer.html
https://sioyaki.com/entry/2016/07/19/194315
https://qiita.com/matamatanot/items/1d4f74ef59da53a93950