使用Docker Compose部署Wiki.js开发环境指南
2025-07-05 05:15:05作者:宗隆裙
概述
本文将详细介绍如何使用Docker Compose配置Wiki.js的开发环境。Wiki.js是一个现代化的开源Wiki平台,基于Node.js构建,支持Markdown编辑和丰富的扩展功能。通过Docker Compose,我们可以轻松搭建包含数据库和应用服务的完整开发环境。
环境组成
该开发环境由三个主要服务组成:
- PostgreSQL数据库:作为Wiki.js的后端数据存储
- Adminer数据库管理工具:用于可视化数据库管理
- Wiki.js应用服务:Wiki.js主应用
配置文件详解
版本声明
version: "3"
使用Docker Compose文件格式版本3,这是目前广泛支持的稳定版本。
数据库服务配置
db:
container_name: wiki-db
image: postgres:15-alpine
environment:
POSTGRES_DB: wiki
POSTGRES_PASSWORD: wikijsrocks
POSTGRES_USER: wikijs
logging:
driver: "none"
volumes:
- db-data:/var/lib/postgresql/data
ports:
- "15432:5432"
- 使用PostgreSQL 15的Alpine版本,体积小巧
- 预配置了数据库名(wiki)、用户(wikijs)和密码(wikijsrocks)
- 禁用了日志记录以减少开发环境干扰
- 通过卷(db-data)持久化数据库数据
- 将容器内5432端口映射到主机的15432端口
Adminer数据库管理工具
adminer:
container_name: wiki-adminer
image: adminer:latest
logging:
driver: "none"
ports:
- "3001:8080"
- 提供轻量级的Web界面管理PostgreSQL数据库
- 将容器内8080端口映射到主机的3001端口
Wiki.js应用服务
wiki:
container_name: wiki-app
build:
context: ../..
dockerfile: dev/containers/Dockerfile
depends_on:
- db
ports:
- "3000:3000"
volumes:
- ../..:/wiki
- /wiki/node_modules
- /wiki/.git
- 使用本地Dockerfile构建镜像
- 声明依赖数据库服务
- 将3000端口映射到主机3000端口
- 挂载三个卷:
- 项目根目录到容器内/wiki路径
- 单独挂载node_modules目录
- 挂载.git目录
开发环境特点
- 热重载支持:通过挂载本地代码到容器,实现代码修改后自动重新加载
- 隔离的node_modules:单独挂载避免与主机环境冲突
- 便捷的数据库访问:提供Adminer工具和直接端口映射
- Git集成:挂载.git目录便于在容器内执行Git操作
使用注意事项
- 该配置仅适用于开发环境,生产环境需要额外安全配置
- 数据库密码为示例值,实际开发中应修改
- 默认禁用了日志记录,调试时可移除logging配置
- 注释掉的Solr服务可用于全文搜索功能,按需启用
启动与使用
- 在包含docker-compose.yml的目录执行:
docker-compose up -d
- 访问Wiki.js应用:http://localhost:3000
- 访问Adminer管理界面:http://localhost:3001
通过这种配置,开发者可以快速搭建Wiki.js的开发环境,实现代码修改即时生效,同时保持开发环境的整洁和一致性。