在 OrangePi 上使用 Docker-Compose 搭建蚂蚁笔记服务器
蚂蚁笔记 是一款很不错的云笔记应用,基本上可以用来代替 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
这里要说明的是:
- 虽然我们将 mongo 数据库和蚂蚁笔记服务端分开,但由于导入蚂蚁笔记初始脚本时需要用到 mongorestore 命令,因此这里依然基于 mongo 构建我们的镜像,只不过在后面通过 ENTRYPOINT 来禁止mongo服务的启动
- 蚂蚁笔记默认的配置的 mongo 主机是
127.0.0.1
,这里需要修改为mongo
,也就是docker-compose.yml
中定义的 mongo 数据库的服务名 - 蚂蚁笔记默认通过
9000
端口对外提供服务,因此这里通过EXPOSE 9000
将9000
端口暴露出去
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/
中导入初始化数据。 然后启动蚂蚁笔记的服务。
这里需要注意的是:
mongo
和mongorestore
命令后指定的主机名mongo
就是docker-compose.yml
中定义的 mongo 数据库的服务名- 运行
docker-compose up -d
启动服务 - 访问
http://orangepi:9000
就能看到蚂蚁笔记服务的 web 界面了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论