EC-CUBE2系の Docker イメージを作りました
EC-CUBE4系がリリースされていますが、EC-CUBE2系を運用されている方も多いと思います。
2.17系が最新ですが、決済やプラグインの開発者の方は、2.11系や2.13系などの古い環境で開発しなくてはならない場合も多々あります。
最近は macOS で古いPHPがビルドできなくなったり、CentOS が EOL を迎えると、PHP5系の環境を用意するのも大変苦労します。。。
これを改善すべく、EC-CUBE2系の Docker イメージを作ってみました。
docker-compose コマンド一発で、モジュールを即開発できます。
10分でEC-CUBEプラグインのE2Eテストを書いてみる記事を活用すれば、EC-CUBE2.11系などの古い環境でもE2Eテストを簡単に書けてしまいます。
使用方法
以下のリポジトリにまとめましたので、ぜひ git clone してお試しください。
対応バージョン
docker-compose.yml の image:
を使用したいバージョンに合わせて変更してください。
## 例) EC-CUBE 2.12.6 をPHP 5.5 で使用したい場合
image: ghcr.io/nanasess/ec-cube2-php:5.5-apache-2.12.6
PHPバージョン
- 5.4
- 5.5
- 5.6
EC-CUBEバージョン
- 2.11.5
- 2.12.6
- 2.13.5
- 2.17.x
2.17.x は、公式の Docker イメージ(PHP5.4-8.1)があります
## 例) EC-CUBE 2.17.x をPHP 8.0 で使用したい場合
image: ghcr.io/nanasess/ec-cube2-php:8.0-apache
Usage
Docker コンテナが起動したら、 https://localhost:4430 にアクセスしてください。
管理画面は https://localhost:4430/admin にアクセスしてください。
(ID:admin, PASS: password)
PostgreSQL を使用する場合
docker-compose -f docker-compose.yml -f docker-compose.pgsql.yml -f docker-compose.dev.yml up -d
MySQL を使用する場合
docker-compose -f docker-compose.yml -f docker-compose.mysql.yml -f docker-compose.dev.yml up -d
サンプルモジュールについて
このサンプルは、EC-CUBE2系モジュールのサンプルを含んでいます。
サンプルモジュールがインストール済みの状態で、Docker コンテナが起動します。
管理画面→オーナーズストア→購入商品一覧→購入商品一覧を取得する をクリックし、一覧の 設定 をクリックすると、サンプルモジュールの設定画面にアクセスできます。
このリポジトリは、 EC-CUBEの data/downloads/module/mdl_sample
にマウントされています。
config.php を修正することで、モジュールの設定画面を編集可能です。
Docker コンテナ起動時の設定
Docker コンテナ起動時に任意のSQLを実行したい場合は、 dockerbuild/sql/setup.sql を編集してください。
また docker-compose.dev.yml の entrypoint
を修正することで、起動時にスクリプトを実行できます。
Discussion