MagentoとDockerについて:DockerによるMagentoのセットアップについても解説!

この記事では、Eコマースの世界で有名なMagentoと、開発環境の構築に便利なDockerについて解説します。DockerによるMagentoのセットアップについても解説します。

Magentoとは

Magentoは、企業や個人がオンラインショップを構築できるプラットフォームです。オープンソースの無料版と有償版が存在しています。拡張性やカスタマイズ性が高く、世界中で広く利用されています。

Magentoの主要機能

Magentoが高く評価される理由は、その多機能性にあります。優れたカート機能は、商品購入のプロセスを効率的にします。また、SEOに有用な機能が豊富で、集客に強いサイトを構築可能です。加えて、多言語対応もできるため、世界中での展開が容易です。

Magentoの市場シェア

Magentoは、Eコマースプラットフォームの市場で高いシェアを誇っています。様々な大企業もMagentoを導入しています。ECサイト全体で比較した利用率としてはWooCommerce、Shopifyに次いで3位となっていますが、WooCommerceやShopifyなどの他のプラットフォームと比較してもその機能性と拡張性の高さで一歩リードしています。WooCommerceやShopifyは直感的な操作が可能なプラットフォームであり習得は容易ですが、機能性や拡張性ではMagentoよりも劣っているといえるでしょう。ただし、Magentoは複雑なプラットフォームであるため、導入と運用には専門的な知識が必要です。

Dockerとは

Dockerとは

Dockerは、コンテナ型の仮想環境を提供するソフトウェアです。コードを特定のコンテナに区分けすることができます。例えば、PHPやNgnix、MySQLを別々のコンテナに分けることで、あるサービスを別のサービスに入れ替えたり、バージョンを変更したりすることが容易にできます。複数のシステムで同じ環境を再現できるため、開発から運用まで大いに役立ちます。Dockerを用いることによって、アプリケーションの開発、テスト、実装までのプロセスを効率化させることができます。

Dockerの強みとは?

Dockerは開発から運用までの一連のプロセスを効率化する技術として高く評価されており、様々なメリットが存在します。Dockerを使用する最大のメリットの一つは、環境の一貫性です。Dockerイメージを作成することで、開発環境から本番環境まで同じ設定や依存関係を保つことができ、環境に依存したバグのリスクを減少させることができます。また、Dockerのコンテナは非常に軽量であり、起動も高速です。これはVM(仮想マシン)よりもリソースを効率的に使用するため、複数のコンテナを同時に稼働させることが可能です。さらに、Dockerコンテナは、Linux、Windows、Macなど、様々なOSで動作させることが可能です。この移植性により、どの環境でも同じアプリケーションを簡単に実装できます。

Dockerと他のコンテナ技術

Dockerは、他のコンテナ仮想化技術と比較しても非常に人気があります。また、Kubernetesなどのオーケストレーションツール(複数のDockerを扱えるツール)と連携する場合も多いです。このような組み合わせによって、大規模なシステムも効率よく運用することができます。

MagentoとDockerを連携させる理由

MagentoとDockerを連携させる理由

MagentoとDockerを連携させることで、開発から運用までのプロセスが格段にスムーズになります。

開発環境でのメリット

ローカル環境でMagentoを簡単にセットアップできるようになります。環境構築の手間が大幅に削減され、より多くの時間をコーディングやテストに費やせるようになります。また、新しいメンバーがプロジェクトに参加した場合も、迅速に環境を整えることができるようになります。

本番環境でのメリット

Dockerを用いることで、拡張性が高まります。高負荷時にも容易にリソースを調整できるため、運用コストを削減することが可能となります。さらに、セキュリティ面でも強化が期待できます。

MagentoをDockerによりセットアップする方法

MagentoをDockerによりセットアップする方法

MagentoをDockerにより運用する方法は様々ですが、今回は比較的簡単にできる方法をご紹介します。このGitHubの「Setup」のところまでスクロールし、そこに描いてあるコマンド以下のを実行するだけでMagento(Magento Open Source)の開発環境をセットアップすることができます。(2023年9月29日時点での最新版にあたるMagento 2.4.6-p2を例として記述しています。)

# Create your project directory then go into it:

mkdir -p ~/Sites/magento

cd $_

# Run this automated one-liner from the directory you want to install your project.

curl -s https://raw.githubusercontent.com/markshust/docker-magento/master/lib/onelinesetup | bash -s — magento.test 2.4.6-p2 community

具体的な手順を以下に示しますが、基本的にはディレクトリを作って、そこでCurlコマンドを実行するだけです。
次に、セットアップ用のフォルダを作成します。デフォルトではコマンド(https://raw.githubusercontent.com/markshust/docker-magento/master/lib/onelinesetup | bash -s — magento.test 2.4.6-p2 community)のドメイン名が「magento.test」と設置されているので、そこは自分が作成したセットアップ用フォルダのドメイン名に変更しましょう。このドメイン名が最終的に与えられるURLです。加えて、インストールするMagentoのバージョンはデフォルトでは最新版(2023年9月29日時点)である2.4.6-p2となっています。この部分は自分がダウンロードしたいバージョンに変更して利用する必要があります。コマンドを実行するとMagentoのライブラリやパッケージなど、必要な要件がダウンロードされます。ダウンロード完了後、コンテナを停止・再起動し、Magentoが実際にインストールされるために適切なサービスが全て実行されていることを確認します。

そして、安全なSSL証明書をインストールするためには、新しいローカル認証局チェーンを作成する必要があります。その際はシステムパスワードの入力が求められます。入力後、Nginxの起動時にSSL証明書がインストールされていることを確認するために、コンテナを再度停止・再起動します。これでセットアップはほぼ完了で、あとはパスワードを数回入力すればMagentoがインストールされ、「magento.test」の部分で自分が指定したURLが与えられます。

ちなみに、このGitHubでは親切にもセットアップと開発環境のセットアップのレッスンコースも設置されているので、興味のある人はチェックしてください。

まとめ

まとめ

MagentoとDockerの連携は、開発から運用までの多くの作業を効率化します。この記事で紹介した設定方法などの情報が、より良いシステム構築に役立てれば幸いです。

当社Digital-Freeでは、50を超えるMagento(Adobe commerce)によるECサイト構築及びコンサルティング対応実績があります。ご相談やお見積もり、各種提案のご依頼については「お問い合わせ」ボタンよりご連絡ください。

ご相談・お問い合わせ

    お問い合わせはお電話か、以下のフォームよりお願い致します。

    お電話でのお問合せ先
    東京渋谷オフィス: 03-6869-7417
    名古屋本社: 052-880-0011

    お問合せフォーム

    ご入力いただいたすべての情報は当社のプライバシーポリシーに従い、厳重にお取り扱い致します。

    ご送信いただいた内容はSSLの技術によって暗号化され、秘匿性が保たれています。