こんにちは、フルスタックエンジニアのryuです。
今回の記事は、Dockerを使ってStrapiを構築する方法を解説します。Strapiとは、HeadlessCMSの1つで今注目されているオープンソースです。Dockerを使ってStrapiの環境を簡単に構築してみましょう!
目次
Dockerを使ってStrapiを構築する方法解説

今回の記事では、Strapiの環境をDockerを使用して構築します。手順は以下の通りです。
- docker-compose.ymlの作成
 - コンテナの立ち上げ
 
この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/mysqlDBの情報によってstrapiの「environment」部分を変更しましょう。DBの接続情報を記述します。
docker-compose.ymlファイルの準備ができたら、コマンドを入力してコンテナを立ち上げましょう。
docker-comoposeコマンドでStrapiを起動
先ほどまでdocker-compose.ymlファイルの準備をしました。準備したファイルを使用してコンテナを起動しましょう。
docker-compose up -dでStrapiを起動する
では、Strapiを起動してみましょう。下記のコマンドを入力してください。
docker-compose up -dコマンドを入力すると、下記のようにDockerイメージをダウンロードしてくれます。

Strapiの起動までに数分時間が掛かります。
下記のようにファイルの共有の注意がでたら、「Share it」をクリックします。

Strapiのインストール状況を確認する
Strapiの起動までに数分時間がかかるので状況を確認してみましょう。
まず、docker psコマンドを入力してstrapiのコンテナ名を確認します。そして、docker logコマンドでstrapiのインストール状況を確認する流れです。
docker ps
docker logs strapi -fコマンドを入力すると、下記のようにインストール状況が確認できます。

インストールが完了したら、strapiのサイトにアクセスしてみましょう。
Strapiのサイトにアクセスしてみる
dockerのコンテナが起動したら、Strapiのサイトにアクセスしてみましょう。
ブラウザから「http://localhost:1337/admin」へアクセスしてください。Strapiは1337番ポートが開いているので、URLの後ろに”:1337″を付けてください。
アクセスすると下記のような画面になります。

ユーザー登録してログインしてください。ログインすると、管理画面へ移動して設定できるようになります。
今回の記事では、環境構築までを解説します。
dockerfileの詳細を知りたい方は、下記のURLを参考にしてください。
以上で、Dockerを使ってStrapiを構築する方法解説を終了します。











































