蚂蚁笔记(http://leanote.com/)是一款很不错的云笔记应用,基本上可以用来代替 Evernote,最棒的是它可以很方便的自建服务器。
蚂蚁笔记服务端基于 Mongo 数据库,我们可以直接基于 Mongo 镜像来搭建自己的服务镜像,但是基于一个容器只跑一个进程的原则,推荐将 Mongo 数据库和蚂蚁笔记服务分开来。
1、创建 docker-compose.yml,填入下面内容
- version: "0.1"
-
- services:
- mongo:
- image: mongo
- volumes:
- - .data:/data
-
- leanote:
- build: leanote
- ports:
- - 9000:9000
- links:
- - mongo
-
这里,我们直接使用 docker 官方提供的 mongo 镜像来提供 mongo 数据库服务。leanote 目录则存放构建蚂蚁笔记服务端的构建内容
2、在 leanote 目录下创建 Dockerfile,填入下面内容
- FROM mongo
- WORKDIR /root/
- ADD run.sh /root/
- ADD https://static.axboy.cn/leanote/leanote-linux-arm-v2.6.1.bin.tar.gz /root/leanote.tar.gz
- RUN tar -xzf /root/leanote.tar.gz -C /root/ && \
- rm -f /root/leanote.tar.gz && \
- chmod a+x /root/run.sh && \
- chmod a+x /root/leanote/bin/run.sh
- RUN sed -i '/db.host/ s/127.0.0.1/mongo/' /root/leanote/conf/app.conf
- EXPOSE 9000
- ENTRYPOINT
- CMD /root/run.sh
-
这里要说明的是:
3、在 leanote 目录下创建 run.sh,填入下面内容
- #!/usr/bin/env bash
-
- # 倒入初始数据
- if ! echo "show dbs" |mongo --host mongo|grep leanote
- then
- mongorestore -h mongo -d leanote --dir /root/leanote/mongodb_backup/leanote_install_data/
- fi
- bash /root/leanote/bin/run.sh
-
这个 run.sh 很简单,就是先查看 mongo 主机上是否已经有了 leanote 数据库。 若没有这个数据库,则从 /root/leanote/mongodb_backup/leanote_install_data/ 中导入初始化数据。 然后启动蚂蚁笔记的服务。
这里需要注意的是: