在OrangePi上使用Docker-Compose搭建蚂蚁笔记服务器
source link: https://www.lujun9972.win/blog/2018/12/22/%E5%9C%A8orangepi%E4%B8%8A%E4%BD%BF%E7%94%A8docker-compose%E6%90%AD%E5%BB%BA%E8%9A%82%E8%9A%81%E7%AC%94%E8%AE%B0%E6%9C%8D%E5%8A%A1%E5%99%A8/index.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
在OrangePi上使用Docker-Compose搭建蚂蚁笔记服务器
蚂蚁笔记 是一款很不错的云笔记应用,基本上可以用来代替Evernote. 最棒的是它可以很方便的自建服务器!
蚂蚁笔记服务端基于Mongo数据库,我们可以直接基于Mongo镜像来搭建自己的服务镜像,但是基于一个容器只跑一个进程的原则,推荐将Mongo数据库和蚂蚁笔记服务分开来。
创建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目录则存放构建蚂蚁笔记服务端的构建内容
在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
端口暴露出去
在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界面了
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK