CentOS7.9 Docker部署Leanote(蚂蚁笔记)

背景:之前一直在winserver服务器上部署的,正好赶上服务器到期了,然后手上有liunx服务器,所以就部署到docker上了,踩了些坑,在这分享下教程。

1、windows服务器备份mongodb

备份完毕的文件夹叫做“Leanote_data220717”

2、leanote docker部署

2.1 拉取镜像

这里说下,我发现一个镜像内置了mongodb,就不用单独安装了,太给力了。https://hub.docker.com/r/axboy/leanote    ,https://hub.docker.com/r/axboy/leanote ,这里选择“内置db”版本

docker pull axboy/leanote

2.2 启动容器

为方便修改配置和迁移数据,建议映射如下文件夹。

mkdir -p /leanote/{db,files,conf,public/upload}
/leanote/db                # 内置mongodb的数据目录,nodb版无此目录
/leanote/conf      # 笔记的配置文件目录
/leanote/files     # 笔记内上传的图片、文件存放目录
/leanote/public/upload     # 头像上传路径
docker run -d --name leanote \
    -v `pwd`/db:/leanote/db \
    -v `pwd`/conf/:/leanote/conf \
    -v `pwd`/files:/leanote/files \
    -v `pwd`/upload:/leanote/public/upload \
    -p 9000:9000 \
    axboy/leanote

启动完事,就能运行了,默认帐号:admin,默认密码:abd123,这个时候就可以正常使用了,但是我是从Windows迁移过来的,所以要做db还原

2.3 还原db

 2.3.1 db文件夹传到宿主机上

2.3.2 复制db文件夹至容器内

docker cp /root/Leanote_data220717/ leanote:/Leanote_data220717

2.3.3 还原db 

#进入宿主机
docker exec -it leanote /bin/sh
#还原db
mongorestore -h localhost -d leanote --dir /Leanote_data220717/  --drop
#这块如果报错,例如找不到文件,那是因为Leanote_data220717文件下还有一层leanote
#这个文件夹才是db外层文件夹,所以在复制文件到容器的时候直接复制该文件夹
docker cp /leanote231119/leanote leanote:/leanote231119

2.4 备份db

#进入容器
docker exec -it leanote /bin/sh
#备份db
mongodump -h localhost -d leanote -o /leanote220718
#退出容器,在docker中运行以下命令,将备份copy到宿主机
docker cp leanote:leanote220718 /leanote220718

posted @ 2022-07-18 18:06  PrintY  阅读(1462)  评论(0编辑  收藏  举报