通过docker搭建企业内部文档共享平台-MM-WiKi

前面已经通过源码包的方式搭建了MM-WiKi,本编将通过docker容器化的方式部署,此镜像基于centos7和mysql5.7,mm-wiki的版本为v0.2.1。

一、准备工作

1、安装docker

2、拉取所需镜像

docker pull centos:7

在这里插入图片描述

docker pull mysql5.7

在这里插入图片描述

3、创建所需目录

mkdir -p /home/mm-wiki/{mmwiki/{build_images,data},mysql/{sql,data}}
tree /home/mm-wiki/
/home/mm-wiki/
├── mmwiki ## mm-wiki相关目录
│   ├── build_images  #构建mm-wiki镜像的目录
│   └── data   #存放运行mm-wiki镜像后容器的数据目录,用户持久化
└── mysql #myql相关目录
    ├── data #存放运行mysql镜像后容器的数据目录,用户持久化
    └── sql  #存放运行mysql镜像后容器的初始化sql文件

4、下载mm-wiki安装包

wget https://github.com/phachon/mm-wiki/releases/download/v0.2.1/mm-wiki-v0.2.1-linux-amd64.tar.gz -o /home/mm-wiki/build_images/mm-wiki-v0.2.1-linux-amd64.tar.gz

二、运行mysql镜像生成容器

1、此处参考:通过docker快速部署mysql5.7

2、编写初始化sql文件和运行镜像生成容器

1> 初始化sql文件
cat << EOF > /home/mm-wiki/mysql/sql/init.sql  #路径和参考链接有变化
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
CREATE DATABASE mmwiki;
CREATE USER 'mmwiki'@'%' IDENTIFIED BY "mmwiki@123";
GRANT ALL ON mmwiki.* TO 'mmwiki'@'%' IDENTIFIED BY "mmwiki@123";
FLUSH PRIVILEGES;
EOF
2> 运行镜像生成容器的命令
docker run -itd --name mysql -h mysql -p 33306:3306 -v  /home/mm-wiki/mysql/sql:/docker-entrypoint-initdb.d/ -v  /home/mm-wiki/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 

在这里插入图片描述

三、运行mm-wiki镜像生成容器

1、构建mm-wiki镜像

1> 编写dockerfile文件
cat << EOF > /home/mm-wiki/mmwiki/build_images/dockerfile
#基础镜像
FROM centos:7
#指定维护者信息
MAINTAINER wkx wkx-422
#安装基础工具,可跳过
#RUN yum -y install wget vim telnet
#创建所需目录,分别是安装目录和数据目录
RUN mkdir -p /opt/mmwiki/{mm-wiki,data}
#下载安装包,网速慢的话可以跳过
#RUN wget https://github.com/phachon/mm-wiki/releases/download/v0.2.1/mm-wiki-v0.2.1-linux-amd64.tar.gz -o /opt/mm_wiki/mm-wiki.tar.gz
#将本地的安装包上传到容器中
ADD mm-wiki-v0.2.1-linux-amd64.tar.gz /opt/mmwiki/mm-wiki
#设置主目录
WORKDIR /opt/mmwiki/mm-wiki
#后台启动,用ENTRYPOINT代替
#CMD ./install/install
#拷贝启动脚本文件
COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
#赋予脚本启动权限
RUN  chmod +x /usr/bin/docker-entrypoint.sh
#暴露启动端口,如果没有--port参数,默认为8090;如果有启动--port参数,必须和docker-entrypoint.sh启动脚本中的--port参数的端口一致
EXPOSE 8090 8080
#挂起进程,便于下次容器启动时可以运行
ENTRYPOINT ["docker-entrypoint.sh"] 
2> 编写docker-entrypoint启动脚本(目的是在容器运行时后台进程挂起)
cat << EOF > /home/mm-wiki/mmwiki/build_images/docker-entrypoint.sh
#!/bin/bash
if [ -d /opt/mmwiki/mm-wiki ]; then  #判断容器内的安装目录释放存在
  cd /opt/mmwiki/mm-wiki
else
  echo "/opt/mmwiki/mm-wiki not found"
  return 51
fi

if [ -f ./install.lock ]; then  #判断容器内./install.lock是否存在,不存在则是install,否则为正常启动状态       
  ./mm-wiki --conf ./conf/mm-wiki.conf
else
  cd install && ./install  #如果需要指定端口,后面加--port=8087即可
fi
EOF
3> 构建镜像
docker build -t mm-wiki:v0.2.1 .

在这里插入图片描述

2、运行mm-wiki镜像

docker run -itd --name mm-wiki -h wiki --link mysql:db -p 8090:8090 -p 8080:8080 -v /home/mm-wiki/mmwiki/data:/opt/mmwiki/data mm-wiki:v0.2.1

四、浏览器引导安装

1、浏览器输入安装地址

http://192.168.16.115:8090/
在这里插入图片描述

2、界面操作

1> 许可协议

在这里插入图片描述

2> 环境检测

在这里插入图片描述

3> 系统配置

在这里插入图片描述

4> 数据库配置

在这里插入图片描述

5> 准备安装

在这里插入图片描述
在这里插入图片描述

6> 安装完成

在这里插入图片描述

7> 容器的日志

在这里插入图片描述

3、界面访问登录

1、重启mm-wiki容器

在这里插入图片描述

2、界面访问登录

192.168.16.115:8080
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值