10
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

意識低めの Magento2 on Docker

Last updated at Posted at 2017-12-16

この記事は、Magento Advent Calendar 2017 16日目担当@kzkiq2ndがお送りします。

更新情報

Maegnto2 を Docker で気軽に立ち上げたい

Docker 系 Magento2 開発環境は、既に Magento Chief Architect Alan Kent御大将が作っている"Magento DevBox"などを筆頭に github 上に様々な実装があります。しかし数GBにもなる巨大イメージをビルドしたり、6コンテナを起動してローカルマシンが悲鳴をあげるなど、Magento らしく高負荷で複雑な意識が高い(良い意味です)構成ばかりです。

しかし、そんなに複雑なキットだと、ちょっと試してみようという用途には情報量が多く、起動までの学習コストが高くなってしまい初見殺し感が否めません。

というわけで、

初心者にもやさしく手頃な意味で”意識低め”の Magento2 on Docker 環境キットを作りました。

要件

  1. 軽量なイメージ
  2. Magento2 アプリはローカルで持つ
  3. 素朴な Docker 構成ファイル

成果物

こちらが完成した構成です。

MacbookPro 2013 程の時代遅れな環境でも5分程で初回ビルドが完了し、独自ビルドイメージのサイズもだいたい 560MB と比較的軽量です。

利用方法も単純で、

  1. Magento 公式から Magegnto zip をダウンロード
  2. docker-compose up -d

の2ステップで完成です。
詳しい手順はREADME.mdを参照してください。

以下は構成をつくったときのポイントです。

1. Apache 入り PHP7.0 公式イメージを使う

WEBサーバー構成の手間を節約するためphp:7.0-apacheを利用しM2動作に最低限必要なビルド等をおこなっています。

難しいビルドを行っているわけでも再利用するつもりもないので1ステップでRUNしています。そしてメールサーバーを忘れています。雑い。

2. Magento2 は zip で取得してローカルマウントする

自動化したくなる部分ですが、ここをDockerfileビルド範囲に含めるとその度に再取得・構成と時間を消費します。それを避けるためにMagento2アプリ本体ファイル群はローカルに手動で設置します。

Magento公式から好きなMagento2のzipを取ってきて解凍し./html/にコピペです。

コンテナ内へのファイル同期に少し待機が必要ですが、http://localhost/からセットアップウィザードで初期設定を行えば完了です。

ローカル側の Composer で設置だけするのも可能な気がしますが試してはいません。

※DB周り初期状態。

項目 内容
Database Server Host db
Database Server Username root
Database Server Password Passw0rd!

スクリーンショット 2017-12-16 23.42.20.png

Docker ありがとう

Vagrant からの乗り換えでしたが Docker 便利です。ありがとうございます。
今後はテストプロジェクトで動かしてみつつ、使い勝手を向上させていこうと思います。

10
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?