Docker

【簡単】Dockerを使ってStrapiを構築する方法解説

こんにちは、フルスタックエンジニアのryuです。

今回の記事は、Dockerを使ってStrapiを構築する方法を解説します。Strapiとは、HeadlessCMSの1つで今注目されているオープンソースです。Dockerを使ってStrapiの環境を簡単に構築してみましょう!

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

Dockerを使ってStrapiを構築する方法解説

今回の記事では、Strapiの環境をDockerを使用して構築します。手順は以下の通りです。

  1. docker-compose.ymlの作成
  2. コンテナの立ち上げ

この2つの手順でStrapiの環境を構築できます。

では、早速やってみましょう!

docker-compose.ymlの作成

まず、docker-compose.ymlの作成します。

ファイルの設定は以下の通りです。

version: '3'

services:
  strapi:
    container_name: strapi
    image: strapi/strapi
    environment:
      - DATABASE_CLIENT=mongo
      - DATABASE_HOST=db
      - DATABASE_PORT=27017
      - DATABASE_NAME=strapi
      - DATABASE_USERNAME=
      - DATABASE_PASSWORD=
      - AUTHENTICATION_DATABASE=strapi
    ports:
      - 1337:1337
    volumes:
      - ./app:/srv/app
    depends_on:
      - db

  db:
    container_name: mongo
    image: mongo
    environment:
      - MONGO_INITDB_DATABASE=strapi
    ports:
      - 27017:27017
    volumes:
      - ./db:/data/db
    restart: always

このdocker-compose.ymlでは、strapiとmongoDBのコンテナを立ち上げています。strapiはDBが必要です。dockerを使うと、DBも同時に立ち上げることができるので便利です。

strapiでmysqlを使用する場合のdocker-compose.yml

ちなみに、mysqlを使用する場合は、下記のように設定します。

version: '3'

services:
  strapi:
    container_name: strapi
    image: strapi/strapi
    environment:
      - DATABASE_CLIENT=mysql
      - DATABASE_HOST=db
      - DATABASE_PORT=3306
      - DATABASE_NAME=strapi
      - DATABASE_USERNAME=strapi
      - DATABASE_PASSWORD=strapi
    ports:
      - 1337:1337
    volumes:
      - ./app:/srv/app
    depends_on:
      - db

  db:
    container_name: mysql
    image: mysql:5.7
    restart: always
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    environment:
      MYSQL_DATABASE: strapi
      MYSQL_USER: strapi
      MYSQL_PASSWORD: strapi
      MYSQL_ROOT_PASSWORD: strapi
    volumes:
      - ./db:/var/lib/mysql

DBの情報によってstrapiの「environment」部分を変更しましょう。DBの接続情報を記述します。

docker-compose.ymlファイルの準備ができたら、コマンドを入力してコンテナを立ち上げましょう。

docker-comoposeコマンドでStrapiを起動

先ほどまでdocker-compose.ymlファイルの準備をしました。準備したファイルを使用してコンテナを起動しましょう。

docker-compose up -dでStrapiを起動する

では、Strapiを起動してみましょう。下記のコマンドを入力してください。

docker-compose up -d

コマンドを入力すると、下記のようにDockerイメージをダウンロードしてくれます。

strapiの起動

Strapiの起動までに数分時間が掛かります。

下記のようにファイルの共有の注意がでたら、「Share it」をクリックします。

Strapiのインストール状況を確認する

Strapiの起動までに数分時間がかかるので状況を確認してみましょう。

まず、docker psコマンドを入力してstrapiのコンテナ名を確認します。そして、docker logコマンドでstrapiのインストール状況を確認する流れです。

docker ps
docker logs strapi -f

コマンドを入力すると、下記のようにインストール状況が確認できます。

Strapiのインストール状況の確認

インストールが完了したら、strapiのサイトにアクセスしてみましょう。

Strapiのサイトにアクセスしてみる

dockerのコンテナが起動したら、Strapiのサイトにアクセスしてみましょう。

ブラウザから「http://localhost:1337/admin」へアクセスしてください。Strapiは1337番ポートが開いているので、URLの後ろに”:1337″を付けてください。

アクセスすると下記のような画面になります。

ユーザー登録してログインしてください。ログインすると、管理画面へ移動して設定できるようになります。

今回の記事では、環境構築までを解説します。

dockerfileの詳細を知りたい方は、下記のURLを参考にしてください。

以上で、Dockerを使ってStrapiを構築する方法解説を終了します。

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
大手企業→上場ベンチャー→スタートアップでエンジニアをしていました。 インフラエンジニア歴10年以上。 Linuxやネットワークの学習ができるサービスInfraAcademyを運営中。
RELATED POST