首页
/ 使用Docker Compose部署Wiki.js开发环境指南

使用Docker Compose部署Wiki.js开发环境指南

2025-07-05 05:15:05作者:宗隆裙

概述

本文将详细介绍如何使用Docker Compose配置Wiki.js的开发环境。Wiki.js是一个现代化的开源Wiki平台,基于Node.js构建,支持Markdown编辑和丰富的扩展功能。通过Docker Compose,我们可以轻松搭建包含数据库和应用服务的完整开发环境。

环境组成

该开发环境由三个主要服务组成:

  1. PostgreSQL数据库:作为Wiki.js的后端数据存储
  2. Adminer数据库管理工具:用于可视化数据库管理
  3. 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目录

开发环境特点

  1. 热重载支持:通过挂载本地代码到容器,实现代码修改后自动重新加载
  2. 隔离的node_modules:单独挂载避免与主机环境冲突
  3. 便捷的数据库访问:提供Adminer工具和直接端口映射
  4. Git集成:挂载.git目录便于在容器内执行Git操作

使用注意事项

  1. 该配置仅适用于开发环境,生产环境需要额外安全配置
  2. 数据库密码为示例值,实际开发中应修改
  3. 默认禁用了日志记录,调试时可移除logging配置
  4. 注释掉的Solr服务可用于全文搜索功能,按需启用

启动与使用

  1. 在包含docker-compose.yml的目录执行:
    docker-compose up -d
    
  2. 访问Wiki.js应用:http://localhost:3000
  3. 访问Adminer管理界面:http://localhost:3001

通过这种配置,开发者可以快速搭建Wiki.js的开发环境,实现代码修改即时生效,同时保持开发环境的整洁和一致性。