フリーランス 技術調査ブログ

フリーランス/エンジニア Ruby Python Nodejs Vuejs React Dockerなどの調査技術調査の備忘録

docker環境でstrapiとmysqlの環境を構築する

はじめに

  • 公式サイトに下記のdocker-compose.yamlのサンプルがあるのですが,strapiをamazon-linuxのイメージ上で動かしたいので、少し設定を変更してみた。 strapi.io

strapiが動作する条件

  • nodejsの推奨バージョンは現時点で下記となっている。
ソフトウェア 最小バージョン 推奨バージョン
Node.js 12.x 14.x
npm 6.x 6.x
  • データベースの推奨最低バージョンは下記になっている。
データベース 最小バージョン
SQLite 3
PostgreSQL 10
MySQL 5.6
MariaDB 10.1
MongoDB 3.6
  • 今回はnodejsのバージョンをv14.15.1にして、yarnを1.22、mysql8の環境を構築してみる。

docker-compose.yamlの設定

  • ベースは公式サイトの設定を流用しました。
version: '3'
services:
  strapi:
    build: ./containers/strapi/
    container_name: strapi
    environment:
      DATABASE_CLIENT: mysql
      DATABASE_HOST: mysql
      DATABASE_PORT: 3306
      DATABASE_NAME: strapi
      DATABASE_USERNAME: strapi
      DATABASE_PASSWORD: strapi
      DATABASE_SSL: 'false'
    volumes:
      - ./backend:/srv/backend/app
    ports:
      - '1337:1337'
    depends_on:
      - mysql
    tty: true
  mysql:
    image: mysql:8
    container_name: strapi-db
    command: mysqld --default-authentication-plugin=mysql_native_password
    volumes:
      - ./data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: strapi
      MYSQL_DATABASE: strapi
      MYSQL_USER: strapi
      MYSQL_PASSWORD: strapi

strapiをamazon-linuxで動くようにする

  • 基本的にはnodejsとyarnをインストールするだけで問題ない。
FROM amazonlinux:latest

RUN yum update -y
RUN curl -sL https://rpm.nodesource.com/setup_14.x | bash -
RUN yum install nodejs -y
RUN yum -y install wget
RUN wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
RUN yum -y install yarn

WORKDIR /srv/backend/app

strapiをインストール

  • strapiのコンテナにログインする
docker exec -it <strapiのコンテナ名を指定> bash
  • 下記のコマンドを実行してstrapaiをインストールする
yarn create strapi-app my-project --quickstart
  • 下記のコマンドを実行してサーバーを起動する
cd my-project
yarn develop

実行結果

  • ログインが表示されることを確認できた。
    f:id:PX-WING:20201206010227p:plain
    ログイン画面

まとめ

  • 環境構築できたので、DB接続周りを調べてみる