前言

最近在研究低代码平台,发现一个挺不错的开源项目: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的部署

Logo

低代码爱好者的网上家园

更多推荐