docker-compose搭建playedu

docker-compose搭建playedu培訓(xùn)系統(tǒng)

一、環(huán)境準(zhǔn)備

1.1 安裝docker

使用官方腳本安裝或者使用docker倉(cāng)庫(kù)進(jìn)行安裝,以下兩種方法自己選擇,有官網(wǎng)腳本在一些系統(tǒng)上可能無(wú)法運(yùn)行,請(qǐng)選擇docker倉(cāng)庫(kù)進(jìn)行安裝。

1.1.1. 官方腳本安裝

#  curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

1.1.2. 手動(dòng)安裝

卸載舊版本

#  yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

使用docker倉(cāng)庫(kù)進(jìn)行docker安裝

#  yum install -y yum-utils

#  yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#  yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

1.2 安裝docker-compose

#  curl -L https://get.daocloud.io/docker/compose/releases/download/v2.4.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

#  ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

#  chmod +x /usr/local/bin/docker-compose

測(cè)試是否安裝成功

#   docker-compose version
cker-compose version 1.24.1, build 4667896b

二、 搭建playedu

2.1 下載playedu-docker-compose倉(cāng)庫(kù)

#  git clone -b 1.5.1 https://gitee.com/playeduxyz/compose.git playedu-docker-compose

2.2 構(gòu)建鏡像

#  cd playedu-docker-compose

#  docker-compose build

2.3 修改docker-compose.yaml文件

添加privileged參數(shù),修改后的文件如下:

version: "3.5"

x-logging: &default-logging
  driver: "json-file"
  options:
    max-size: "10m"
    max-file: "10"

networks:
  backend:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 172.10.10.0/24

volumes:
  mysql:
    driver: local
  redis:
    driver: local
  minio:
    driver: local

services:
  playedu:
    image: registry.cn-hangzhou.aliyuncs.com/playedu/light:1.6
    restart: always
    privileged: true
    volumes:
      - ./data/logs/nginx:/var/log/nginx
    environment:
      - DB_HOST=mysql
      - DB_PORT=3306
      - DB_NAME=playedu
      - DB_USER=root
      - DB_PASS=playeduxyz
      - REDIS_HOST=redis
      - REDIS_PASS=NFSchina@123!
      - REDIS_PORT=6379
      - REDIS_DB=2
      - SA_TOKEN_IS_CONCURRENT=false
      - SA_TOKEN_JWT_SECRET_KEY=${PLAYEDU_JWT_KEY:-playeduxyz}
    ports:
      - "${PLAYEDU_API_PORT:-9700}:80"
      - "${PLAYEDU_PC_PORT:-9800}:9800"
      - "${PLAYEDU_H5_PORT:-9801}:9801"
      - "${PLAYEDU_ADMIN_PORT:-9900}:9900"
    networks:
      - backend
    depends_on:
      - mysql
      - redis
      - minio
    logging: *default-logging

  redis:
    build: ./redis
    restart: always
    privileged: true
    volumes:
      - ./data/redis:/data
    ports:
      - "${REDIS_PORT:-6379}:6379"
    networks:
      - backend
    logging: *default-logging

  mysql:
    build: ./mysql
    restart: always
    privileged: true
    environment:
      - MYSQL_DATABASE=playedu
      - MYSQL_ROOT_PASSWORD=playeduxyz
      - TZ=UTC
    volumes:
      - ./data/mysql:/var/lib/mysql
    ports:
      - "${MYSQL_PORT:-3306}:3306"
    networks:
      - backend
    logging: *default-logging

  minio:
    image: bitnami/minio:latest
    restart: always
    privileged: true
    environment:
      - MINIO_ROOT_USER=${MINIO_ROOT_USER:-username}
      - MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD:-password}
      - MINIO_DEFAULT_BUCKETS=${MINIO_BUCKETS:-playedu:public}
    volumes:
      - ./data/minio/data:/bitnami/minio/data
    ports:
      - "${MINIO_PORT:-9002}:9000"
      - "${MINIO_CONSOLE_PORT:-50002}:9001"
    networks:
      - backend
    logging: *default-logging

2.4 修改.env文件

# cd playedu-docker-compose

# cp .env.example .env

對(duì)端口賬號(hào)密碼等進(jìn)行修改,如下:

#################  PlayEdu ###################
PLAYEDU_API_PORT=9700
PLAYEDU_PC_PORT=9800
PLAYEDU_H5_PORT=9801
PLAYEDU_ADMIN_PORT=9900
PLAYEDU_JWT_KEY=playeduxyz

#################  MySQL ###################
MYSQL_PORT=3306

#################  Redis ###################
REDIS_PORT=6379

#################  MINIO ###################
MINIO_ROOT_USER=username
MINIO_ROOT_PASSWORD=password
MINIO_PORT=9002
MINIO_CONSOLE_PORT=50002
MINIO_BUCKETS=playedu:public

2.5 運(yùn)行mysql、redis、minio

# chmod a+rwx data

# docker-compose up -d mysql redis minio

minio運(yùn)行之后需要再次為data目錄添加權(quán)限

#  chmod a+rwx data -R

執(zhí)行上述命令會(huì)很快返回結(jié)果,但是這并不意味著上述三個(gè)軟件就已經(jīng)成功的運(yùn)行了。它們的初始化運(yùn)行都需要一段過(guò)程,這里我們稍微等待 1-2 分鐘的時(shí)間(機(jī)器配置高的話可能時(shí)間更短)。

2.6 運(yùn)行playedu

# cd playedu-docker-compose

docker-compose up -d playedu

執(zhí)行完成之后,等待 15s 左右的時(shí)間就可以訪問(wèn)了。

三 、 配置minio

瀏覽器打開 http://你的服務(wù)器IP:9900 ,在登錄窗口輸入賬號(hào) admin@playedu.xyz 和密碼 playedu 進(jìn)入到后臺(tái),然后打開系統(tǒng)配置,選擇 MinIO 配置,請(qǐng)?zhí)钊胂卤淼膬?nèi)容并保存:

配置項(xiàng) 需要配置的值
AccessKey username(.env中配置的minio賬號(hào))
SecretKey password(.enc中配置的minio密碼)
Bucket playedu
Endpoint http://你的服務(wù)器IP:9002
Domain http://你的服務(wù)器IP:9002

鏈接

平臺(tái) 地址 默認(rèn)賬號(hào) 密碼
API 服務(wù) http://你的服務(wù)器IP:9700 - -
PC 學(xué)員端口 http://你的服務(wù)器IP:9800 - -
H5 學(xué)員端口 http://你的服務(wù)器IP:9801 - -
后臺(tái)管理端口 http://你的服務(wù)器IP:9900 admin@playedu.xyz playedu
MinIO 管理端口 http://你的服務(wù)器IP:50002 username password

四、playedu常用鏈接

站點(diǎn) 鏈接
官網(wǎng) https://www.playeduos.com
企業(yè)版 https://www.playeduos.com/function.html
部署文檔 https://faq.playeduos.com/opensource-maintenance-handbook/article/t08o2iHfLR
問(wèn)答社區(qū) https://faq.playeduos.com/qa?scene=new
文檔中心 https://faq.playeduos.com
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容