文章目录
前言
最近在研究低代码平台,发现一个挺不错的开源项目:PagePlug,但是官方只提供了一个docker-compose.yml文件,所有服务都在一个docker镜像中,不能满足我DIY的需求。经过尝试,成功将mongodb、redis、client、server分离出来,在此分享给大家。
一、前期准备
1.下载官方install.sh脚本
wget https://raw.githubusercontent.com/cloudtogo/pageplug/open/install.sh
2.修改脚本内容
在docker-compose up之前暂停脚本,修改生成的文件,最终效果如下所示。
二、详细配置文件
1.MongoDB
docker-compose.yml 配置如下:
version: '3.7'
services:
mongo:
image: mongo:4.4.19
container_name: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: root # 本地部署,密码我就怎么简单怎么设置了
ports:
- 27017:27017
volumes:
- ./database:/data/db
command: [--auth]
2.Redis
Redis我之前用yum命令安装的,就不再用docker部署了
3.Mysql:
Mysql我之前也是用yum命令安装的,就不再用docker部署了
4.PagePlug(主角登场)
docker-compose.yml配置如下:
version: "3.7"
services:
pageplug-client:
image: index.docker.io/cloudtogouser/pageplug-client:v1.5.15
container_name: pageplug-client
env_file: ./docker.env
ports:
- "80:80"
volumes:
- ./data/nginx/app.conf.template:/nginx.conf.template
command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & /start-nginx.sh'"
depends_on:
- pageplug-internal-server
labels:
com.centurylinklabs.watchtower.enable: "true"
restart: always
pageplug-internal-server:
image: index.docker.io/cloudtogouser/pageplug-server:v1.5.15
container_name: pageplug-internal-server
env_file:
- ./docker.env # 这个也是通过脚本自动生成的,后续又手动改的
- ./encryption.env # 这个也是通过脚本自动生成的,后续又手动改的
expose:
- "8080"
labels:
com.centurylinklabs.watchtower.enable: "true"
restart: always
watchtower: # 这个容器主要是为了在镜像更新后能自动使用新的版本去启动服务,有兴趣可以单独去学习学习
image: containrrr/watchtower
container_name: watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
# Update check interval in seconds.
command: --interval 300 --label-enable --cleanup
restart: always
以上配置文件其实是利用PagePlug的脚本生成的初始文件,又根据我的需求改了部分内容
三、启动容器
1.执行命令
docker-compose up -d
总结
以上就是今天分享的内容,本文仅仅简单介绍了PagePlug的部署