EC-CUBE 4 系 向けの Docker 環境を提供するプロジェクトです。
当プロジェクトのサポート内容は下記の通りです。
分類 | ソフトウェア | バージョン |
---|---|---|
WebServer | Apache | 2.4.x |
PHP | PHP | 7.1.x ~ 7.4.x, 8.0.x ~ 8.2.x |
Database | PostgreSQL | 9.x ~ 14.x |
Database | MySQL | 5.7.x or 8.0.x |
Database | SQLite | 3.x |
DBMS | Adminer (PostgreSQL/SQLite) | |
DBMS | phpMyAdmin (MySQL) | |
Others | MailCatcher |
使用できるソフトウェアのバージョンは EC-CUBE 4 系 のマイナーバージョンによって異なります。 詳細は公式ドキュメントのシステム要件をご確認ください。
前提として Docker Desktop をインストールして下さい。
当プロジェクトをクローンします。
git clone https://github.com/itaboo1014/docker-for-eccube4.git
クローンしたプロジェクトディレクトリに移動します。
cd docker-for-eccube4
EC-CUBE のバージョンを指定し、ソースコードをダウンロードします。
:例 EC-CUBE 4.2.3 の場合
make EC-CUBE4.2.3
当プロジェクトで提供しているバージョンは下記の通りです。
EC-CUBE4.2.3
EC-CUBE4.2.2
EC-CUBE4.2.1
EC-CUBE4.2.0
EC-CUBE4.1.2-p3
EC-CUBE4.1.2-p2
EC-CUBE4.1.2-p1
EC-CUBE4.1.2
EC-CUBE4.1.1
EC-CUBE4.1.0
EC-CUBE4.0.6-p4
EC-CUBE4.0.6-p3
EC-CUBE4.0.6-p2
EC-CUBE4.0.6-p1
EC-CUBE4.0.6
EC-CUBE4.0.5-p1
EC-CUBE4.0.5
EC-CUBE4.0.4
EC-CUBE4.0.3
EC-CUBE4.0.2
EC-CUBE4.0.1
EC-CUBE4.0.0
使用する PHP のバージョンを指定します。
:例 PHP 8.1 の場合
make PHP8.1
当プロジェクトで提供しているバージョンは下記の通りです。
PHP8.2
PHP8.1
PHP8.0
PHP7.4
PHP7.3
PHP7.2
PHP7.1
使用するデータベースとバージョンを指定します。
:例 MySQL 8.0 の場合
make MySQL8.0
当プロジェクトで提供しているデータベースとバージョンは下記の通りです。
MySQL8.0
MySQL5.7
PostgreSQL14
PostgreSQL13
PostgreSQL12
PostgreSQL11
PostgreSQL10
PostgreSQL9
SQLite3
アプリケーションコンテナのイメージを作成します。
docker-compose build app
全てのコンテナを起動します。
docker-compose up
下記コマンドで構築した環境を初期化することができます。
make Initialization
内部の処理は下記の通りです。
- コンテナ・ボリュームの停止&削除
- ソースコード(
eccube
ディレクトリ)の削除 - 永続化されたデータベースの情報を削除
docker-compose.yml
の削除Dockerfile
の削除
下記コマンドで実行可能な make コマンドを確認することができます。
make
MySQL | PostgreSQL | SQLite | |
---|---|---|---|
database | eccube |
eccube |
../var/eccube.db |
host | db |
db |
|
port | 3306 |
5432 |
|
user | db_user |
db_user |
|
password | db_password |
db_password |
db_password |
root password | db_password |
||
DBMS | phpMyAdmin | Adminer | Adminer (Custom) |
Front | Browsing |
---|---|
EC-CUBE | http://localhost |
Adminer (PostgreSQL) | http://localhost:8080 |
Adminer (SQLite) | http://localhost/adminer_for_sqlite/index.php |
phpMyAdmin (MySQL) | http://localhost:8080 |
MailCatcher | http://localhost:1080 |
当プロジェクトでは、app
コンテナ初回起動時にファイルの所有者とグループをwww-data
に変更しています。
Linux ディストリビューションの Docker ではホストとコンテナ間のファイルの所有者、グループの切り分けができないため、ホストでファイルを変更する場合はパーミッションの調整が必要です。
eccube
ディレクトリのパーミッションを777
に変更してください。
sudo chmod -R 777 eccube
※Git 管理する際はパーミッションの差分に注意してください。