Docker Compose 및 MySQL을 사용한 Strapi v4 설정

나는 그것이 혼란 스러웠다고 말해야 만합니다. 오늘날 기존 docker 이미지 strapi/strapi에는 v3가 있으며 Docker Compose를 통해 Strapiv4를 설치하는 간단한 방법이나 문서가 없습니다.

오늘날 새로운 프로젝트 Strapi v4를 만드는 유일한 방법은 다음을 사용하는 것입니다.

npx create-strapi-app@latest strapi-project --quickstart


기본적으로 노드와 함께 사용

npm run develop


오늘 저는 Docker-compose와 함께 제 솔루션을 공유하고 있습니다.

Docker를 통해 Strapi 프로젝트 생성



Strapi 프로젝트 파일 설치:
  • 노드 버전을 설정했습니다. 버전 16입니다.
  • 프로젝트 이름을 설정합니다. 사용strapi-project

  • docker run -it \
        -v $PWD:/data\
        -w=/data\
        node:16-alpine sh -c "yes | npx create-strapi-app@latest strapi-project --no-run --dbclient=mysql --dbhost=mariadb --dbport=3306 --dbname=strapi --dbusername=strapi --dbpassword=strapi"
    


    이러한 모든 CLI 옵션은 Strapi Github 리포지토리에 나열되어 있습니다. packages/cli/create-strapi-app/create-strapi-app.js 이 옵션을 사용하면 package.json 의 올바른 데이터베이스 드라이버와 함께 구성이 올바르게 설정됩니다.

    ...
    "dependencies": {
        ...
        "mysql": "2.18.1"
      }
    ...
    


    Mysql과 함께 Docker 작성으로 시작



    그런 다음 docker compose를 실행합니다. 여기 옵션으로 MariaDb를 선택으로 사용합니다.

    참고로 이 폴더 구조를 사용했습니다.



    다음 사용docker-compose.yml
    version: '3'
    services:
      strapi:
        image: node:16-alpine
        command: npm run develop
        labels:
          com.example.description: "Strapi project"
        environment:
          DATABASE_CLIENT: mysql
          DATABASE_HOST: mariadb
          DATABASE_PORT: 3306
          DATABASE_NAME: strapi
          DATABASE_USERNAME: strapi
          DATABASE_PASSWORD: strapi
          DATABASE_SSL: 'false'
        volumes:
          - ./strapi-project:/data
        working_dir: /data
        ports:
          - '1337:1337'
        depends_on:
          - mariadb
    
      mariadb:
        image: mariadb
        volumes:
          - ./mariadb:/var/lib/mysql
        environment:
          MYSQL_ROOT_PASSWORD: strapi
          MYSQL_DATABASE: strapi
          MYSQL_USER: strapi
          MYSQL_PASSWORD: strapi
    


    Docker compose를 사용하여 프로덕션 환경에 배포



    프로덕션 배포의 경우 - 위의 비밀번호를 변경하십시오.

    또한, Strapi는 strapi start를 실행 명령으로 대신 사용할 것을 제안하는 것 같습니다.

    즐거운 콘텐츠 제작!

    좋은 웹페이지 즐겨찾기