当前位置:   article > 正文

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

docker mm-wiki

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

一、准备工作

1、安装docker

2、拉取所需镜像

docker pull centos:7
  • 1

在这里插入图片描述

docker pull mysql5.7
  • 1

在这里插入图片描述

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文件
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

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
  • 1

二、运行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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
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 
  • 1

在这里插入图片描述

三、运行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"] 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
3> 构建镜像
docker build -t mm-wiki:v0.2.1 .
  • 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

四、浏览器引导安装

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
在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/291936
推荐阅读
相关标签
  

闽ICP备14008679号