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 |