使用docker私有化部署了为知笔记,发现内存占用很高。
是因为默认会在容器中创建一个MySQL服务,如果我们已经单独部署过MySQL,可以直接用自己的MySQL,这样会大大减少内存占用。也方便进行数据维护
原本用docker直接部署的,进入容器后,查看启动脚本:cat /wiz/app/entrypoint.sh
发现有预留外部MySQL的脚本,只不过没见过有人分享,很少有人去这么做。
直接docker-compose:
version: '3.1'
services:
wiznote:
image: wiznote/wizserver:latest
container_name: wiznote
environment:
- MYSQL_EXTERNAL_HOST=mysql地址
- MYSQL_EXTERNAL_PORT=mysql端口
- MYSQL_EXTERNAL_USER=mysql用户
- MYSQL_EXTERNAL_PASSORD=mysql密码
volumes:
# 将宿主机上的 /home/docker/wiz/data 目录挂载到容器内的 /wiz/storage 目录,用于数据持久化
- ./data:/wiz/storage
# 将宿主机的系统时间配置挂载到容器内,确保容器内的时间与宿主机一致
- /etc/localtime:/etc/localtime
ports:
# 将容器内的 80 端口映射到宿主机的 9280 端口,可通过宿主机的 9280 端口访问服务
- 9280:80
# 将容器内的 9269 UDP 端口映射到宿主机的 9269 UDP 端口
- 9269:9269/udp
同样,Alist也支持使用外部数据库:
先备份,进入容器中,修改配置文件,重启之后恢复配置即可
