方法一:使用官方镜像(推荐)
1. 快速启动命令
docker run -d \
--name siyuan \
-p 6806:6806 \
-v /your/local/path/workspace:/siyuan/workspace \
-v /your/local/path/data:/siyuan/data \
b3log/siyuan
2. 完整配置示例
docker run -d \
--name siyuan \
--restart=unless-stopped \
-p 6806:6806 \
-v /opt/siyuan/workspace:/siyuan/workspace \
-v /opt/siyuan/data:/siyuan/data \
-v /opt/siyuan/conf:/siyuan/conf \
-e TZ=Asia/Shanghai \
-e SIYUAN_ACCESS_CODE=your_password \
b3log/siyuan:latest
3. 使用 Docker Compose
创建 docker-compose.yml 文件:
version: '3'
services:
siyuan:
image: b3log/siyuan:latest
container_name: siyuan
restart: unless-stopped
ports:
- "6806:6806"
environment:
- TZ=Asia/Shanghai
# 可选:设置访问密码
- SIYUAN_ACCESS_CODE=your_password
volumes:
# 工作空间(笔记数据)
- ./workspace:/siyuan/workspace
# 应用数据
- ./data:/siyuan/data
# 配置文件
- ./conf:/siyuan/conf
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
启动服务:
docker-compose up -d
方法二:使用 Docker 部署订阅版
如果需要完整功能(云端同步等),可以使用订阅版镜像:
docker run -d \
--name siyuan-pro \
-p 6806:6806 \
-v /opt/siyuan/workspace:/siyuan/workspace \
-v /opt/siyuan/data:/siyuan/data \
-e SIYUAN_ACCESS_CODE=your_subscription_key \
b3log/siyuan-pro:latest
重要配置说明
挂载目录说明
/siyuan/workspace:笔记数据目录(必须挂载)
/siyuan/data:应用数据目录
/siyuan/conf:配置文件目录
环境变量
SIYUAN_ACCESS_CODE:访问密码(设置后需要通过密码访问)TZ:时区设置(建议设置为 Asia/Shanghai)SIYUAN_WORKSPACE_DIR:自定义工作空间路径(默认 /siyuan/workspace)
端口说明
容器内部使用 6806 端口
映射到宿主机的端口可自定义,如
-p 8080:6806
访问和使用
通过浏览器访问:
http://服务器IP:6806首次访问设置:
如果设置了
SIYUAN_ACCESS_CODE,需要输入密码如果没有设置,可直接访问
数据备份:
定期备份挂载目录
/opt/siyuan/workspace可以通过定时任务备份数据
注意事项
数据持久化:
务必正确配置卷挂载,否则数据会在容器删除后丢失
建议定期备份工作空间目录
权限问题:
确保宿主机目录有正确的读写权限
可以添加
-u $(id -u):$(id -g)指定用户
版本升级:
docker-compose pull docker-compose up -d或者
docker pull b3log/siyuan:latest docker stop siyuan docker rm siyuan # 重新运行启动命令资源限制(可选):
deploy: resources: limits: memory: 2G cpus: '2'
故障排查
查看日志:
docker logs siyuan进入容器:
docker exec -it siyuan /bin/sh检查端口:
netstat -tlnp | grep 6806