应塞葛马的需求,我决定在我的阿里云服务器上搭建一个 Trilium 笔记应用供其使用。Docker 部署方式一直是我最喜欢的方案,因为它简洁高效——只需安装 Docker 和 Docker Compose,创建相应的 docker-compose.yml
文件,然后执行 docker-compose up -d
即可。(文档说明:安装docker)
然而,由于一个众所周知的原因,我无法直接在服务器上拉取镜像或源代码。经过多次尝试和调试无果后,我开始仔细阅读阿里云的官方文档,最终找到了解决方案:只需要在 daemon.json
配置文件中添加阿里云的镜像加速器地址,就能顺利解决这个问题。
我再次体会到,阅读文档往往是解决问题的关键。
解决方案※
添加阿里云镜像加速器
通过修改 Docker 配置文件,在daemon.json
中加入阿里云镜像加速器的地址。这样,Docker 就能从阿里云的加速镜像库中拉取镜像,避免了网络问题带来的困扰。配置文件路径:
/etc/docker/daemon.json
文档说明:配置镜像加速器
加速器地址: 官方镜像加速器
docker-compose.yml
配置完成加速器配置后,接下来就是编写 Docker Compose 配置文件,启动 Trilium 服务。
version: '3' services: trilium-cn: image: nriver/trilium-cn restart: always # 设置容器在失败后或服务器重启时自动重启 ports: - "8080:8080" volumes: # 将当前目录下的 trilium-data 映射到容器内 - ./trilium-data:/root/trilium-data environment: # 设置容器内的笔记数据存储路径 - TRILIUM_DATA_DIR=/root/trilium-data # 可选:健康检查功能,启用时取消注释以下部分 # healthcheck: # test: ["CMD-SHELL", "curl --fail http://localhost:8080/api/health-check | jq -e '.status == \"ok\"' || exit 1"] # interval: 30s # timeout: 10s # retries: 3
在这个配置文件中,主要做了以下几件事:
- 使用
nriver/trilium-cn
镜像启动 Trilium 服务。 - 映射本地的
trilium-data
目录到容器内,确保数据持久化。 - 配置环境变量,指定数据存储路径。
- 配置端口映射,将容器内的
8080
端口映射到主机的8080
端口,可根据需要自行修改。
如果需要健康检查功能,可以取消注释相关部分来启用。
- 使用
启动容器
完成配置后,只需在配置文件的对应目录下执行以下命令启动 Trilium 服务:docker-compose up -d
该命令会在后台启动容器,并保持服务持续运行,感兴趣的学生小伙伴可以凭学生身份领取一台阿里云服务器,并参照上文在自己的服务器上部署trilium。

