Memos 是一个简单而高效的自托管笔记应用,适合用来存储和管理你的笔记。今天,我将介绍如何使用 Docker 来部署 Memos,并连接到一个 MySQL 数据库。
前期准备
首先,确保你已经安装了 Docker 和 Docker Compose。如果没有,请按照官方文档的步骤进行安装。
编写 docker-compose.yml
在部署 Memos 前,我们需要编写一个 docker-compose.yml
文件,配置相关的服务。
services:memos:image: neosmemo/memos:stablecontainer_name: memosrestart: alwaysnetworks:- memos_networkvolumes:- ./memos/:/var/opt/memosports:- "5230:5230"environment:- MEMOS_DRIVER=mysql- MEMOS_DSN=账号:密码@tcp(IP地址:3306)/数据库名- TZ=Asia/Shanghainetworks:memos_network:driver: bridge
配置解释
-
image: neosmemo/memos:stable
使用官方 Memos 镜像,这里指定了稳定版。 -
container_name: memos
设置容器名称为memos
,你可以根据需要修改。 -
restart: always
配置容器重启策略,确保 Docker 重启时容器能够自动重启。 -
volumes: ./memos/:/var/opt/memos
映射宿主机目录./memos/
到容器的/var/opt/memos
,确保 Memos 的数据能够持久化存储。 -
ports: "5230:5230"
映射容器的端口 5230 到宿主机的同一端口,你可以通过http://localhost:5230
来访问 Memos。 -
environment
设置环境变量:-
MEMOS_DRIVER=mysql
指定数据库驱动为 MySQL。 -
MEMOS_DSN=账号:密码@tcp(IP地址:3306)/数据库名
配置数据库连接字符串。将账号
、密码
、IP地址
和数据库名
替换为你的实际数据库信息。 -
TZ=Asia/Shanghai
设置时区为上海。
-
-
networks
配置 Docker 网络,使用bridge
驱动确保容器可以通过网络互联。
启动 Memos 服务
完成 docker-compose.yml
文件后,在终端中进入该文件所在目录,执行以下命令启动 Memos 容器:
docker-compose up -d
此命令将后台运行 Memos 容器。你可以通过访问 http://localhost:5230
来查看 Memos 应用是否成功启动。
配置 MySQL 数据库
Memos 默认使用 MySQL 作为数据库,如果你已经搭建了 MySQL 数据库,确保数据库配置正确。如果你还没有 MySQL 数据库,你可以使用 Docker 部署一个 MySQL 实例。下面是一个简单的 MySQL 服务配置:
services:mysql:image: mysql:5.7container_name: mysqlrestart: alwaysenvironment:MYSQL_ROOT_PASSWORD: root_passwordMYSQL_DATABASE: memos_dbports:- "3306:3306"networks:- memos_network
通过 docker-compose up -d
启动 MySQL 服务后,确保 Memos 配置中的数据库信息正确无误。
访问 Memos
配置完成后,打开浏览器并访问 http://localhost:5230
,你将看到 Memos 的登录页面。如果一切正常,你就可以开始使用 Memos 来管理你的笔记了。
总结
通过使用 Docker 部署 Memos,我们可以非常方便地将这个笔记管理工具在本地或服务器上进行自托管。Docker Compose 帮助我们快速启动并管理多个容器,让部署过程变得更加简单和可维护。
希望这个教程对你有所帮助,如果你有任何问题,欢迎留言讨论!