mindoc 在线文档接口系统的 docker 制作过程

时间:2022-09-14 10:34:59

说明: mindoc 是一款在线接口文档编辑系统,百度一下就知道了。github地址:https://github.com/lifei6671/mindoc

本机:ubuntu16.04 + dockerCE2017.12 + mysql5.7 + git2.7.4

由于在使用dockerfile 制作镜像需要跳到 golang.org 网站下点东西,国内网你懂得。我就使用了外国的VPS进行构建

1 git clone代码,在一个空文件夹下执行如下命令

git clone https://github.com/lifei6671/mindoc.git

等待完成。

2 制作镜像前进行设置

进入mindoc 目录,

cd mindoc

添加配置文件到配置目录

# 创建文件
touch conf/app.conf # 向该配置文件添加如下内容
appname = godoc
# httpaddr = 127.0.0.1
httpport =
runmode = dev
sessionon = true
sessionname = mindoc_id
copyrequestbody = true #默认Session生成Key的秘钥
beegoserversessionkey= ########Session储存方式##############
#以文件方式储存
sessionprovider=file
sessionproviderconfig=./logs
#以redis方式储存
#sessionprovider=redis
#sessionproviderconfig=127.0.0.1:
#以memcache方式储存
#sessionprovider=memcache
#sessionproviderconfig=127.0.0.1:
#以内存方式托管Session
#sessionprovider=memory #时区设置
timezone = Asia/Shanghai ####################MySQL 数据库配置###########################
#支持MySQL和sqlite3两种数据库,如果是sqlite3 则 db_database 标识数据库的物理目录
db_adapter=mysql
db_host=127.0.0.1
db_port=
db_database=mindoc_db
db_username=root
db_password= ####################sqlite3 数据库配置###########################
#db_adapter=sqlite3
#db_database=./database/mindoc.db #项目默认封面
cover=/static/images/book.jpg #默认头像
avatar=/static/images/headimgurl.jpg #默认阅读令牌长度
token_size= #上传文件的后缀,如果不限制后缀可以设置为 *
upload_file_ext=txt|doc|docx|xls|xlsx|ppt|pptx|pdf|7z|rar|jpg|jpeg|png|gif
#上传的文件大小限制,如果不填写,默认不限制,单位可以是 GB KB MB
upload_file_size=100MB ####################邮件配置######################
#是否启用邮件
enable_mail=false
#每小时限制指定邮箱邮件发送次数
mail_number=
#smtp服务用户名
smtp_user_name=admin@iminho.me
#smtp服务器地址
smtp_host=smtp..com
#smtp密码
smtp_password=
#端口号
smtp_port=
#发送邮件的显示名称
form_user_name=admin@iminho.me
#邮件有效期30分钟
mail_expired=
#加密类型NONE 无认证、SSL 加密、LOGIN 普通用户登录
secure=LOGIN ###############配置PDF生成工具地址###################
#wkhtmltopdf=D:/Program Files/wkhtmltopdf/bin/wkhtmltopdf.exe ###############配置CDN加速##################
cdn=
cdnjs=
cdncss=
cdnimg= ################百度地图密钥#################
baidumapkey= ################Active Directory/LDAP################
#是否启用ldap
ldap_enable=false
#ldap主机名
ldap_host=ad.example.com
#ldap端口
ldap_port=
#ldap内哪个属性作为用户名
ldap_attribute=sAMAccountName
#搜索范围
ldap_base=DC=example,DC=com
#第一次绑定ldap用户dn
ldap_user=CN=ldap helper,OU=example.com,DC=example,DC=com
#第一次绑定ldap用户密码
ldap_password=superSecret
#自动注册用户角色: 超级管理员 / 管理员/ 普通用户
ldap_user_role=
#ldap搜索filter规则,AD服务器: objectClass=User, openldap服务器: objectClass=posixAccount ,也可以定义为其他属性,如: title=mindoc
ldap_filter=objectClass=posixAccount ######################缓存配置###############################
#是否开启缓存,true 开启/false 不开启
cache=false
#缓存方式:memory/memcache/redis/file
cache_provider=memory
#当配置缓存方式为memory时,内存回收时间,单位是秒
cache_memory_interval=
#当缓存方式配置为file时,缓存的储存目录
cache_file_path=./runtime/cache/
#缓存文件后缀
cache_file_suffix=.bin
#文件缓存目录层级
cache_file_dir_level=
#文件缓存的默认过期时间
cache_file_expiry=
#memcache缓存服务器地址
cache_memcache_host=127.0.0.1:
#redis服务器地址
cache_redis_host=127.0.0.1:
#redis数据库索引
cache_redis_db=
#redis服务器密码
cache_redis_password=

其中数据库配置部分根据具体情况进行配置

3 修改Dockerfile 去掉阿里云镜像源(根据具体情况,我使用的是外国的VPS,直接使用官网镜像比较快)

mindoc 在线文档接口系统的 docker 制作过程

4 在数据库中创建 mindoc_db数据库,使用如下命令

CREATE DATABASE mindoc_db  DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;

说明:数据库参数 max_allowed_packet 需要设置的比较大,可以通过修改配置文件my.ini 或 my.conf配置文件,然后重启数据库。我是使用

mysql镜像,不知道怎么制作定制化的配置镜像,只是基于官网的 mysql 镜像再进行修改。Dockerfile 如下

FROM mysql:5.7
RUN rm -rf /etc/mysql
RUN mkdir /etc/mysql
COPY my.conf /etc/mysql/ CMD ["mysqld", "--character-set-server=utf8", "--collation-server=utf8_unicode_ci","--max-allowed-packet=104857600"]

设置 max_allowed_packet = 100M

我的 my.conf 配置文件如下

# CLIENT SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by MySQL client applications.
# Note that only client applications shipped by MySQL are guaranteed
# to read this section. If you want your own MySQL client program to
# honor these values, you need to specify it as an option during the
# MySQL client library initialization.
[client] # pipe
# socket=0.0
port= [mysql]
default-character-set=utf8 # SERVER SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this
# file.
#
# server_type=
[mysqld]
# The TCP/IP Port the MySQL Server will listen on
port=
max_allowed_packet =
# The default character set that will be used when a new schema or table is
# created and no character set is defined
character-set-server=utf8 pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#log-error = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=

5 进行镜像构建

docker build . -t mindoc

可能需要等一会,根据个人网速。中间会有警告不用管他。到最后成功构建出mindoc 镜像

6 制作出来镜像后就可以启动进行验证了

docker run -p : -d --name=mindoc mindoc:0.9

此时在浏览器中输入 localhost:8181/即可看到登录页面

mindoc 在线文档接口系统的 docker 制作过程

默认程序会自动初始化一个超级管理员用户:admin 密码:123456 。请登录后重新设置密码。登录后界面如下

mindoc 在线文档接口系统的 docker 制作过程

注意,因最新的mysql的sql_mode设置的比较严格,需要手动配置下SQL_MODE来禁止full_group检查,可以改MySQL配置文件,或者运行如下SQL语句来修改SQL_MODE:

SET @@global.sql_mode = 'STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION';

mindoc 在线文档接口系统的 docker 制作过程的更多相关文章

  1. 求你别再用swagger了,给你推荐几个在线文档生成神器

    前言 最近公司打算做一个openapi开放平台,让我找一款好用的在线文档生成工具,具体要求如下: 必须是开源的 能够实时生成在线文档 支持全文搜索 支持在线调试功能 界面优美 说实话,这个需求看起来简 ...

  2. 在线文档预览方案-office web apps续篇

    上一篇在线文档预览方案-office web apps发布后收到很多网友的留言提问,所以准备再写一篇,一来介绍一下域控服务器安装,总结一下大家问的多的问题,二来宣传预览服务安装与技术支持的事情. 阅读 ...

  3. 在线文档预览方案-office web apps

    最近在做项目时,要在手机端实现在线文档预览的功能.于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览.这些方案没有具体实现代码,也没有在线预览的地址,再加上项目时间紧迫.只能考虑 ...

  4. [转载]在线文档预览方案-Office Web Apps

    最近在做项目时,要在手机端实现在线文档预览的功能.于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览.这些方案没有具体实现代码,也没有在线预览的地址,再加上项目时间紧迫.只能考虑 ...

  5. 在线文档转换API word,excel,ppt等在线文件转pdf、png

    在线文档转换API提供word,excel,ppt等在线文件转pdf.png等,文档:https://www.juhe.cn/docs/api/id/259 接口地址:http://v.juhe.cn ...

  6. apidoc快速生成在线文档,apidoc生成静态文件的生成规则以及原理分析

    在老大的指引下,需要将系统的json文件格式转换成apidoc的json格式,也就是json格式的重组,但是这个apidoc的生成格式是不固定的,因为apidoc有自己一套的生成规则,我需要研究一下是 ...

  7. SpringBoot整合Swagger2搭建API在线文档

    Swagger,中文"拽"的意思,它是一个功能强大的在线API在线文档,目前它的版本为2.x,所以称为Swagger2.Swagger2提供了在线文档的查阅和测试功能.利用Swag ...

  8. SpringBoot集成Swagger2在线文档

    目录 SpringBoot集成Swagger2在线文档 前言 集成SpringBoot 登录接口文档示例 代码 效果 注解说明 总结 SpringBoot集成Swagger2在线文档 前言 不得不说, ...

  9. 推荐个开源在线文档,助道友领悟 Django 之“道”

    本文面向有手(需要一点点 Python Django 基础)的小伙伴,急需文档管理者食用最佳. 作者:HelloGitHub-吱吱(首发于 HelloGitHub 公众号) 嗷嗷待哺的小白:&quot ...

随机推荐

  1. 本人讲课时录制的Android应用开发技术教学视频

    网盘地址:http://yun.baidu.com/pcloud/album/info?query_uk=1963923831&album_id=3523786484935252365 本人讲 ...

  2. 最大子序列和 o(n)

    问题: 给定一整数序列A1, A2,... An (可能有负数),求A1~An的一个子序列Ai~Aj,使得Ai到Aj的和最大 例如:整数序列-2, 11, -4, 13, -5, 2, -5, -3, ...

  3. 【23】宁以non-member、non-friend替换member函数

    1.non-member方法与member方法没有本质区别,对于编译器来说,都是non-member方法,因为member方法绑定的对象,会被编译器转化为non-member方法的第一个形参.non- ...

  4. suse安装svn服务端和客户端的使用

    suse安装svn服务端 一. 安装服务端 配置网络安装源(suse11sp1为例) 新建11.1.repo11.1为软件源名称,可自定义文件并添加如下内容后保存 linux-e0xg:/etc/zy ...

  5. Scrum Mastery:产品开发中如何优化产品价值?

    您是否在开发对组织来说有价值的产品?如何判断产品是否有价值? 如果没有经常提出这两个问题,那么您可能忽略了产品价值方面的问题. 产品是目前工作所要达成的目的,是组建团队的原因.产品也是你选择Scrum ...

  6. vgcreate语法

    vgcreate 用于创建LVM卷组 补充说明 vgcreate命令 用于创建LVM卷组.卷组(Volume Group)将多个物理卷组织成一个整体,屏蔽了底层物理卷细节.在卷组上创建逻辑卷时不用考虑 ...

  7. scala-Unit-3-Scala基础语法2

    一.定义方法.函数.及方法转换为函数 1.方法的定义: def  方法名(参数1:数据类型,参数2:数据类型...):返回值类型 ={ } 2.定义函数: val h1 = (a:Int,b:Int) ...

  8. Latex: 参考文献双栏对齐

    参考: How to level columns in bibliography? Latex: 参考文献双栏对齐 需要实现的效果: 方法1: 在开头引用balance: \usepackage{ba ...

  9. python selenium 模拟登陆百度账号

    代码: from selenium import webdriver url = 'https://passport.baidu.com/v2/?login' username = 'your_use ...

  10. [UE4]使机器人受伤