DockerでEC-CUBE4を開発する手順

DockerでEC-CUBE4を開発する手順

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が激重になるので注意してください。