#下载leanote镜像
docker pull ryaning/leanote
#下载mongo镜像
docker pull mongo:4.0.0
命令说明:
–name:自定义别名-v /home/leanote/mongo/db:/data/db:将主机中 /home/leanote/mongo/db 挂载到容器的 /data/db,作为mongo数据存储目录docker run --name leanote-mongo \
-v /home/leanote/mongo/db:/data/db \
-d mongo:4.0.0
**注:**这里为了数据安全考虑,没有映射 mongo 端口,可通过(--link)方式指定容器来使用。
leanote 数据库初始化文件默认位于 leanote-linux-amd64-v2.x.x.bin.tar.gz的/leanote/mongodb_backup/leanote_install_data 下,博主已经将该文件提取出来了,可以直接使用,不放心的话也可以从官方 github 上下载。
wget --no-check-certificate https://cdn.ryana.cn/leanote/leanote_install_data.tar.gz
将数据库初始化文件拷贝到 mongo 容器内。
docker cp leanote_install_data.tar.gz leanote-mongo:/home/
[root@server home]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
59cd627f4e96 mongo:4.0.0 "docker-entrypoint.s…" 14 seconds ago Up 13 seconds 27017/tcp leanote-mongo
[root@server home]# docker cp leanote_install_data.tar.gz leanote-mongo:/home/
[root@server home]#
docker exec -it leanote-mongo bash
进入容器后,我们先更改容器的时区,设置为东八区时间。
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
echo "Asia/Shanghai" > /etc/timezone
解压并导入数据库文件
tar -zxvf /home/leanote_install_data.tar.gz -C /home/
mongorestore -h localhost -d leanote --dir /home/leanote_install_data
导入完成后删除初始数据文件
rm -rf /home/leanote_install_data*
退出容器,重启mongo
docker restart leanote-mongo
命令说明:
–name:自定义别名-p 9000:9000 :将容器的 9000 端口映射到主机的 9000 端口-v /home/leanote/app.conf:/leanote/conf/app.conf:将主机中 /home/leanote/app.conf 挂载到容器的 /leanote/conf/app.conf,替换leanote配置-v /home/leanote/data:/leanote/public/upload:将主机中 /home/leanote/data 挂载到容器的 /leanote/public/upload,作为 leanote 数据目录--link leanote-mongo:mongohost:告诉当前容器需要使用 mongo (leanote-mongo)容器,并重命名为 mongohost-d:以守护进程方式运行docker run --name leanote \
-p 9000:9000 \
-v /home/leanote/app.conf:/leanote/conf/app.conf \
-v /home/leanote/data:/leanote/public/upload \
--link leanote-mongo:mongohost \
-d ryaning/leanote
博主修改了 db.host=mongohost 和上方 --link leanote-mongo:mongohost 对应,当然为了安全考虑,还可以给 mongo 数据库添加访问账户密码
db.host=mongohost
db.port=27017
db.dbname=leanote # required
db.username= # if not exists, please leave blank
db.password= # if not exists, please leave blank
请务必修改 app.secret 一项, 在若干个随机位置处,将字符修改成一个其他的值, 否则会有安全隐患!
查看启动日志
docker logs leanote
Content type
Image
Digest
Size
22.9 MB
Last updated
about 8 years ago
docker pull ryaning/leanote