DockerでEC-CUBE4.0を開発する手順
EC-CUBE4でDockerを使用する方法がわかりにくかったので手順を記録しておきます。
Dockerファイル
Dockerファイルは、プロジェクトルートにあります。まず最初にプロジェクトルートが汚くて気づけなかったです。
.envの作成
まずはじめに下記のコマンドで.envの作成します。
$ cp .env.dist .env
DB設定
Dockerを開く前にDBの設定をします。
EC-CUBE4ではSQLite3、MySQL、PostgreSQLが使用できます。
設定は.envファイルで行います。デフォルトではSQLite3になっています。
SQLite3を使用する場合
DATABASE_URL=sqlite:///var/eccube.db
MySQLを使用する場合
DATABASE_URL=mysql://dbuser:secret@mysql/eccubedb
PostgreSQLを使用する場合
DATABASE_URL=postgresql://postgres/eccubedb?user=dbuser&password=secret
コンテナの起動
.envの設定ができたらDockerコンテナを起動します。初回時は起動に時間がかかります。
$ docker-compose up -d
EC-CUBE初期化
コンテナ起動後、下記のコマンドでEC-CUBEの初期化を行います。
$ docker-compose exec ec-cube bin/console eccube:install
設定の確認などは全てEnterキーを押したらOKです。
サイトへアクセス
上記の作業が完了後、localhost:8080にアクセスして、サイトが表示されていれば大丈夫です。
Composer
vendorファイルはコンテナと非同期のファイルになっているため、Docker内の変更が反映されません。
サイトをデプロイする際には、以下のコマンドを使用して、vendorを更新してください。
$ docker-compose exec ec-cube cp -r vendor vendor2
$ rm -r vendor
$ mv vendor2 vendor
$ docker-compose exec ec-cube rm -r vendor2
終わりに
EC-CUCEにはいくつか罠があるので気をつけましょう。
公式のDockerファイルではなく、一般的なnginxなどのDockerコンテナを使用するとPCが激重になるので注意してください。