小白程序媛在上学期接触了一点私有云笔记的知识,作为练习和作业,和小伙伴采用Docker+MongoDB+Kubernetes搭建了一款私有云的Leanote笔记。
首先简单介绍一下Leanote,Leanote 是一款在线的云笔记服务,开源,支持 Markdown,程序代码高亮,多人协作,笔记历史记录,可以直接将笔记发布为博客等功能。Leanote 目前的功能笔记完善了,纯 Web 自适应界面,暂无客户端支持。由于开源,我们也可以搭建一个一模一样的云笔记。
实验采用工具与环境
- Windows 10 Home and Pro
- Docker for Windows 2.1.0.3
- Kubernetes v1.14.6
- MongoDB v3.0.1
- Leanote 2.6.1
主要搭建步骤
- 配置端口映射
- 下载 Leanote 二进制版。
- 安装 MongoDB。
- 导入初始数据。
- 配置和运行 Leanote。
- 将容器打包成镜像。
- Docker for Windows开启Kubernetes
- 部署Leanote镜像至Kubernetes
1.配置端口映射
在docker中使用一个CentOS镜像创建一个容器,命名为Leanote。在容器的Settings中配置两个端口映射,MongoDB和Leanote的端口。
2.下载Leanote二进制版
- 在/home/user 目录下载 Leanote 二进制版:
wget https://sourceforge.net/projects/Leanote-bin/files/2.6.1/Leanote-linux-amd64-v2.6.1.bin.tar.gz
- 解压文件从而在 /home/user 目录下生成 Leanote目录 ,结果如图所示。
tar -xzvf Leanote-linux-amd64-v2.6.1.bin.tar.gz
3.安装MongoDB
- 在/home/user 目录下载 MongoDB:
wget https://fastdl.MongoDB.org/linux/MongoDB-linux-x86_64-3.0.1.tgz
- 解压文件从而在 /home/user 目录下生成 MongoDB目录,结果如下图所示。
tar -xzvf MongoDB-linux-x86_64-3.0.1.tgz/
- 配置环境变量:
vim /etc/profile
- 在/etc/profile中添加以下行
export PATH=$PATH:/home/user1/mongodb-linux-x86_64-3.0.1/bin
- 保存修改后,在终端运行以下命令使环境变量生效:
source /etc/profile
- 先在/home/user下新建一个目录data存放MongoDB数据 :
mkdir /home/user/data
- 启动MongoDB:
mongod --dbpath /home/user1/data
- mongod已经启动,重新打开一个终端, 键入mongo进入交互程序:
4.导入初始数据
- Leanote初始数据存放在
/home/user/Leanote/MongoDB_backup/Leanote_install_data中
- 输入命令:
mongorestore -h localhost -d leanote –dir $数据存放目录
- 可用命令查看下Leanote有多少张“表”
5.配置Leanote
- Leanote的配置存储在文件 conf/app.conf中,修改app.secret一项。将其修改为自己私有的secret。
6.运行Leanote
- 首先确保MongoDB已经在运行,使用以下命令运行Leanote。
cd /home/user1/leanote/bin
bash run.sh
- 在浏览器中输入 http://192.168.99.100:9000/,打开Leanote。因为小编使用的是docker toolbox,所以输入的IP地址是虚拟机的IP,如果安装的是docker,输入localhost即可。出现以下页面表示我们的Leanote已经安装成功啦。
下面,小媛会在下一篇博客中介绍如何将我们搭建的私有云笔记部署到K8s上。