docker-compose 部署 mindoc文档服务器(支持在线markdown文件编辑)
文章目录
1. 非持久化启动
配置文件需要拷贝出来,因此我们需要先把容器启动起来。
1.1 docker-compose.yml 文件
version: '3' services: mindoc: image: 'harbocto.xxx.com.cn/public/mindoc:2.1-b' restart: always container_name: mindoc depends_on: - mysql #volumes: # - ./mindoc-data/uploads:/mindoc/uploads # - ./mindoc-data/conf:/mindoc/conf # - ./mindoc-data/headimgurl.jpg:/mindoc/static/images/headimgurl.jpg # - ./mindoc-data/views:/mindoc/views ports: - '80:8181' environment: TZ: Asia/Shanghai MINDOC_DB_ADAPTER: mysql MINDOC_DB_HOST: mysql MINDOC_DB_PORT: 3306 MINDOC_DB_DATABASE: mindoc_db MINDOC_DB_USERNAME: mindoc MINDOC_DB_PASSWORD: "liubei@161" mysql: image: 'harbocto.xxx.com.cn/public/mysql:5.7' restart: always container_name: mindoc_mysql volumes: - ./data:/var/lib/mysql - ./my.cnf:/etc/mysql/my.cnf ports: - '3306:3306' environment: MYSQL_ROOT_PASSWORD: "liubei@161" MYSQL_USER: 'mindoc' MYSQL_PASSWORD: 'liubei@161' MYSQL_DATABASE: 'mindoc_db'
1.2 my.cnf文件
[mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql secure-file-priv= NULL # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION character-set-server=utf8mb4 collation-server=utf8mb4_general_ci init_connect='SET NAMES utf8mb4' # Custom config should go here !includedir /etc/mysql/conf.d/ [mysql] default-character-set=utf8mb4 [client] default-character-set=utf8mb4
1.3 启动服务
[root@liubei mindoc]# docker-compose up -d Name Command State Ports -------------------------------------------------------------------------------------- mindoc /bin/bash /mindoc/start.sh Up 0.0.0.0:80->8181/tcp mindoc_mysql docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp, 33060/tcp
- 查看
[root@liubei mindoc]# docker-compose ps Name Command State Ports -------------------------------------------------------------------------------------- mindoc /bin/bash /mindoc/start.sh Up 0.0.0.0:80->8181/tcp mindoc_mysql docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp, 33060/tcp
1.4 web查看
url: http://IP
默认账号/密码: admin/123456
但是这时候没有持久化,配置文件、头像等重启都会丢失。
我们下边配置持久化:
2. mindoc持久化
2.1 创建持久化目录
- 创建
~/mindoc-data
目录,存放mindoc的持久化存储文件
[root@liubei mindoc]# mkdir mindoc-data
-
mindoc-data
目录下创建upload
目录,存放上传的图片文件 -
/mindoc/database
目录(本例不需要)
如果使用默认的sqlite3 则需要持久化该目录,但是我们使用了mysql,这里因此不用创建
2.2 配置文件
- 拷贝配置文件
从容器中将配置文件目录拷贝到
~/mindoc-data
目录
[root@liubei mindoc]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 91ab2d18ff1f harbocto.xxx.com.cn/public/mindoc:2.1-b "/bin/bash /mindoc/s…" 2 hours ago Up 2 hours 0.0.0.0:80->8181/tcp mindoc b01579716928 harbocto.xxx.com.cn/public/mysql:5.7 "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:3306->3306/tcp, 33060/tcp mindoc_mysql [root@liubei mindoc]# docker cp 91a:/mindoc/conf ./mindoc-data/
- 修改配置文件
按需求修改。默认也没有问题。
2.3 默认头像(非必要)
其实非必要,只不过默认头像辣眼睛,想换一个。
找个头像图片,上传到~/mindoc-data
目录下,命名为headimgurl.jpg
2.4 修改docker-compose.yml文件
其实我们非持久化存储时已经写好了,只是被我们注释掉了。现在打开。
version: '3' services: mindoc: image: 'harbocto.xxx.com.cn/public/mindoc:2.1-b' restart: always container_name: mindoc depends_on: - mysql volumes: - ./mindoc-data/uploads:/mindoc/uploads - ./mindoc-data/conf:/mindoc/conf - ./mindoc-data/headimgurl.jpg:/mindoc/static/images/headimgurl.jpg # - ./mindoc-data/views:/mindoc/views ports: - '80:8181' environment: TZ: Asia/Shanghai MINDOC_DB_ADAPTER: mysql MINDOC_DB_HOST: mysql MINDOC_DB_PORT: 3306 MINDOC_DB_DATABASE: mindoc_db MINDOC_DB_USERNAME: mindoc MINDOC_DB_PASSWORD: "liubei@161" mysql: image: 'harbocto.xxx.com.cn/public/mysql:5.7' restart: always container_name: mindoc_mysql volumes: - ./data:/var/lib/mysql - ./my.cnf:/etc/mysql/my.cnf ports: - '3306:3306' environment: MYSQL_ROOT_PASSWORD: "liubei@161" MYSQL_USER: 'mindoc' MYSQL_PASSWORD: 'liubei@161' MYSQL_DATABASE: 'mindoc_db'
2.5 重启服务
[root@liubei mindoc]# docker-compose up -d Creating network "mindoc_default" with the default driver Creating mindoc_mysql ... done Creating mindoc ... done [root@liubei mindoc]# docker-compose ps Name Command State Ports -------------------------------------------------------------------------------------- mindoc /bin/bash /mindoc/start.sh Up 0.0.0.0:80->8181/tcp mindoc_mysql docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp, 33060/tcp
3. 一些有用的配置
3.1 配置ldap登录
- 修改
~/mindoc-data/conf/app.conf
文件
################Active Directory/LDAP################ #是否启用ldap ldap_enable=true #ldap主机名 ldap_host=10.10.xxx.50 #ldap端口 ldap_port=3268 #ldap内哪个属性作为用户名 ldap_attribute=uid #搜索范围 ldap_base=example,DC=org #第一次绑定ldap用户dn ldap_user=CN=CN=admin,DC=example,DC=org #第一次绑定ldap用户密码 ldap_password=xxxxxxx #自动注册用户角色:0 超级管理员 /1 管理员/ 2 普通用户 ldap_user_role=2 #ldap搜索filter规则,AD服务器: objectClass=User, openldap服务器: objectClass=posixAccount ,也可以定义为其他属性,如: title=mindoc ldap_filter=objectClass=posixAccount
- 重启服务(略)
posted on 2022-07-25 20:34 运维开发玄德公 阅读(175) 评论(0) 编辑 收藏 举报 来源
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了