EC-CUBE4.0.3|docker-compose|install


EC-CUBE4.0.3は、docker-compose.yamlが付属していません。
どうやってローカル環境を構築するかを書いておきます。

$ git clone -b 4.0.3 https://github.com/EC-CUBE/ec-cube.git  eccube-4.0.3
$ cd eccube-4.0.3

docker-compose.yamlというファイルを作成して、そこに他のバージョン(4.0.5)から持ってきたものを貼り付けます。

version: "3"

networks:
  backend:
    driver: bridge

volumes:
  pg-database:
    driver: local
  mysql-database:
    driver: local
  mailcatcher-data:
    driver: local

  ### ignore folder volume #####
  var:
    driver: local
  vendor:
    driver: local

services:
  ec-cube:
    build:
      context: .
      args:
        SKIP_INSTALL_SCRIPT_ON_DOCKER_BUILD: "true"
    ports:
      - 8080:80
      - 4430:443
    volumes:
      - ".:/var/www/html:cached"
      - "var:/var/www/html/var"
      - "vendor:/var/www/html/vendor"
    networks:
      - backend

  postgres:
    image: postgres:10
    environment:
      - POSTGRES_DB=eccubedb
      - POSTGRES_USER=dbuser
      - POSTGRES_PASSWORD=secret
    ports:
      - 15432:5432
    volumes:
      - pg-database:/var/lib/postgresql/data
    networks:
      - backend

  mysql:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: eccubedb
      MYSQL_USER: dbuser
      MYSQL_PASSWORD: secret
    volumes:
      - mysql-database:/var/lib/mysql
    ports:
      - 13306:3306
    networks:
      - backend

  mailcatcher:
    image: schickling/mailcatcher
    ports:
      - "1080:1080"
      - "1025:1025"
    networks:
      - backend

Composerの問題の解消

composerのバージョンを「1」に固定しないと、当時のライブラリをインストールできないので、
Dockerfileを開いて45行目あたりを編集して下さい。

RUN curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/bin/composer

RUN curl -sS https://getcomposer.org/installer | php -- --version=1.10.15 && mv composer.phar /usr/bin/composer

当時と、名前が変わっているライブラリがあります。
composer.jsonを開きます。大文字のSをsに直します。

"mikey179/vfsStream"

"mikey179/vfsstream"

インストールしていきます。

$ docker-compose up -d

エラーが出ていないことを確認したら、
localhost:8080 にアクセスします。

いろいろな設定をやっていきますが、1番ハマりやすいのがデータベースの接続です。
パスワードの部分はスクリーンショットだとみえませんが、「secret」です。

途中でうまく行かなかった場合は、滅びの呪文でイメージを消します。

$ docker-compose down --rmi all --volumes --remove-orphans
$ cd ../
4 rm -r eccube-4.0.3

時間が経ってくると、composerライブラリの名前が違うとかはあると思いますので、
そういうエラーが出た部分を修正して、また最初の手順から繰り返します。