Windows 下使用 Docker + MySQL 安装 Wiki.js

news2024/11/18 19:33:51

Windows 下使用 Docker + MySQL 安装 Wiki.js

  • Introduction
  • Chapter 1 配置数据库
    • Part 1 数据库安装
    • Part 2 创建 Wiki 相关配置并修改权限
  • Chapter 2 配置 Wiki.js
    • Part 1 安装
    • Part 2 配置 Wiki

Introduction

Wiki 是一种在网络上开放且可供多人协同创作的系统,比较著名的 Wiki 站点有维基百科。通常站点由多人维护,每个人可以发表自己的意见或者对共同的主题进行扩展与讨论。

Wiki.js 是一个基于 Node.js 开发的轻量级 Wiki 程序,适合于建立小型团队的知识库。
站点页面可以使用 Markdown 编写也可以使用原生 HTML 编写,相对比较灵活。

在安装之前,请确保你已经正确安装 Docker Desktop 应用程序,也请确保你的 Docker Desktop 被分配了至少 2 个处理器核心,至少 2GB 的 RAM 和足够的硬盘空间,同时还需确定防火墙、出入站规则或其他杀毒软件放行 3306、8080 端口,教程中需要使用该端口。

通常来讲,对于生产力环境而言,只要软件能正常使用,就不要更新软件和环境,因此本篇教程不包括升级方法。


Chapter 1 配置数据库

Part 1 数据库安装

官方推荐使用 PostgreSQL 9.5 or later,但是该数据库对中文搜索不友好,因此这里使用 MySQL 数据库。

These engines (MySQL, MariaDB, MS SQL Server and SQLite) will NOT be supported in the next major version of Wiki.js. Make sure you understand the implications of migrating your database to PostgreSQL if you plan on upgrading to 3.x+ in the coming years. An export + import tool will be made available at / shortly after release.
SQLite is not recommended for production deployments.

这个是官方对数据库版本的提示,当然看本篇教程的朋友们肯定是要用 MySQL 的,官方推荐使用 8.0 或之后的 MySQL版本。

首先拉取镜像

docker pull mysql

镜像拉取完毕之后,创建 container

docker run -d -v {$ Your Path (data)}:/var/lib/mysql -v {$ Your Path (conf)}:/etc/mysql/conf.d --name mysql -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD={$ Your Password} -p 3306:3306 mysql:latest

上面这一行指令可以直接在 CMD 命令行窗口运行也可以复制到一个 TXT 文本里,然后将.txt 后缀改成 .bat,随后使用管理员权限运行。 注意 {$ Your Path} 需要替换成你的路径,这里需要注意 Windows 的路径必须在一对英文引号内,data 目录用来存放数据,conf 目录用来存放配置,{$ Your Password} 需要替换成你想设置的管理员账号也就是 root 账号的密码,端口号不建议修改。

Part 2 创建 Wiki 相关配置并修改权限

首先进入 Docker 中的 MySQL 容器。

docker exec -it mysql bash
mysql -uroot -p

输入设置的密码,然后创建新的账号。

create user 'wiki'@'localhost' identified by '{$ Your Password}';
create user 'wiki'@'%' identified by '{$ Your Password}';

注意,需要将 {$ Your Password} 替换成你想要设置的密码。之后创建 wiki 数据库。

create database `wiki`;

修改用户权限

grant all privileges on wiki.* to 'wiki'@'localhost';
grant all privileges on wiki.* to 'wiki'@'%';

flush privileges;

alter user 'wiki'@'%' identified with mysql_native_password by '{$ Your Password}';

{$ Your Password} 是你刚才设置的密码。注意,每一句后面都必须有英文分号。

若 MySQL 可以正常运行,则新建一个窗口,输入下面的命令完成数据库开机自启动。

docker update mysql --restart=always

Chapter 2 配置 Wiki.js

Part 1 安装

拉取镜像

docker run -d -p 8080:3000 --name wiki -e "DB_TYPE=mysql" -e "DB_HOST={$ Your Host}" -e "DB_PORT=3306" -e "DB_USER=wiki" -e "DB_PASS={$ Your Password}" -e "DB_NAME=wiki" -v {$ Your Path (conf)}:/conf -v {$ Your Path (data)}:/data ghcr.io/requarks/wiki:2

{$ Your Host} 需要替换成 MySQL 数据库的地址,格式必须是 IP 地址,{$ Your Password} 替换成刚才设置的 wiki 账户的密码。

{$ Your Path} 需要替换成你的文件地址,这里需要注意 Windows 的路径必须在一对英文引号内,Windows 11 系统可以选择文件夹后右键复制路径。conf 用来保存配置文件,data 用来保存数据,这样数据不会因为 Docker 的崩溃而丢失,同时也便于对数据进行备份。

查看容器是否正常运行,若正常运行,则新建命令行窗口运行下面的指令以实现开机启动。

docker update wiki --restart unless-stopped 

Part 2 配置 Wiki

在浏览器地址输入 Docker 所在机器的 IP 地址,并在结尾加上端口号。http://xxx.xxx.xxx.xxx:8080http://localhost:8080
进入之后,按照要求创建管理员用户。

进入控制面板 Dashboard,选择语言环境栏,在右侧下载中文语言包,然后再更改网站语言环境。
网站语言环境选择
之后就可以创建你的第一个页面了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/111087.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【触摸屏功能测试】昆仑通态MCGS——测试通过HJ212_TCPIP驱动4G功能发送212报文

1、触摸屏功能测试 型号:TPC7022Ni 测试内容: 实现4G触摸屏,通过自带的4G卡向平台发送HJ212报文 2、HJ212_TCPIP 驱动说明 2.1、驱动介绍 本驱动构件用于MCGS软件,通过污染物在线监控(监测)系统数据传输标准协议向下位机数采仪发送各类指…

MCU-51:静态数码管显示

目录一、数码管介绍2.1 介绍2.2 数码管引脚定义2.3 原理图二、要用到的C语言知识2.1 数组2.2 子函数三、数码管显示3.1 单个数码管显示3.2 通过定位函数实现数码管显示四、动态数码管显示一、数码管介绍 2.1 介绍 LED数码管:数码管是一种简单、廉价的显示器&#…

Word表格常见设置汇总

Word表格常见设置汇总 总结一些Word中常用的关于表格的设置问题。 文章目录1.居中设置2.隔页显示表格首行设置3.边框边线粗细及显示设置4.表格斜线设置5.单元格合并与拆分设置1.居中设置 全选要居中显示部分→布局→选择居中类型。 2.隔页显示表格首行设置 选择表格→表格属性→…

idea插件之自动生成时序图(Sequence Diagram)

前言 小伙们,你们有没有发现,身边经常有这样一些人,看着平时没怎么干活,到关键时候需要展示工作成果,会发现这些人也有工作成果,甚至比辛苦在干的人可能还要多一些。按常理推测,这绝对不是一件科…

【小程序】案例 - 本地生活(首页)

1. 首页效果以及实现步骤 新建项目并梳理项目结构 配置导航栏效果 配置 tabBar 效果 实现轮播图效果 实现九宫格效果 实现图片布局 2. 接口地址 获取轮播图数据列表的接口 【GET】 https://www.escook.cn/slides 获取九宫格数据列表的接口 【GET】 https://www.esco…

XXE工具——XXEinjection安装与使用

今天继续给大家介绍渗透测试相关知识,本文主要内容是XXE工具——XXEinjection安装与使用。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调&#xff1…

直播推流神器 Kplayer 手把手教你在B站7*24h全天直播

开始前的准备工作 Linux服务器 (1)KPlayer目前仅支持Linux环境并需要满足x86_64(amd64)与aarch64(arm64)CPU架构的硬件环境上运行,我们已经将相关依赖库静态链接至主程序中,这意味着你不需要额外的安装任何的第三方库来支持KPlayer的运行。 在后续的迭代…

【数据预处理】基于Pandas的数据预处理技术【前七个任务】

文章目录一.需求分析二.需求解决2.1 本次实验以california_housing加州房价数据集为例,下载数据集2.2 查看数据集的描述、特征及目标数据名称、数据条数、特征数量2.3 将数据读入pandas的DataFrame并转存到csv文件2.4 查看数据集各个特征的类型以及是否有空值2.5 对…

五年经验的前端社招被问:CPU 和 GPU 有什么区别?

CPU 和 GPU 的设计目标和整体架构的区别分析,并在全文最后使用通俗的例子做比喻帮助理解。 首先来看 CPU 和 GPU 的百科解释: CPU(Central ProcessingUnit,中央处理器):功能主要是解释计算机指令以及处理计…

【工作流Activiti7】2、Activiti7 与 Spring Boot 及 Spring Security 整合

1. 前言 其实,选择用Activiti7没别的原因,就是因为穷。但凡是有钱,谁还用开源版的啊,当然是用商业版啦。国外的工作流引擎没有考虑中国的实际情况,很多像回退、委派、撤销等等功能都没有,所以最省事的还是…

若依前后端分离框架去掉首页 登录后跳转至动态路由的第一个路由

若依前后端分离框架去掉首页 登录后跳转至动态路由的第一个路由若依框架VUE前端界面,登录后默认跳转至动态路由第一路由(第一个子菜单)一、登录后跳转第一路由界面二、设置路由的首页路径,方便后续的获取三、点击若依的logo跳转的…

字符串函数(4)--strtok函数和strerror函数

1.strtok函数 — 分割字符串函数 2.strerror函数 — 错误报告函数 1.strstok函数的用法 char* strtok(char* str, const char* delimiters);直接看函数的声明: 参数1:要切割的地址,参数2:切割时的标记物 注意:strt…

单链表的python实现

首先说下线性表,线性表是一种最基本,最简单的数据结构,通俗点讲就是一维的存储数据的结构。 线性表分为顺序表和链接表: 顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素,称为线性表的顺序存储结构或…

Nginx安装配置及vue项目部署【Centos7】

Background 网上好多都是源码安装,各种编译环境安装配置,感觉太麻烦了,这里直接下载一个rpm包就行了,离线安装也方便。 1、nginx rpm包下载 选择你要使用的版本下载。 nginx官方下载地址:http://nginx.org/packages/ce…

垃圾回收机制

1.什么场景下该使用什么垃圾回收策略? (1).对内存要求苛刻的场景 想办法提高对象的回收效率,尽可能的多回收一些对象,腾出更多内存 (2).在CPU使用率较高的情况下 降低高并发时垃圾回收频率,让CPU更多地去执行业务而不是垃圾回收 …

一文搞懂 Redis 架构演化之路

现如今 Redis 变得越来越流行,几乎在很多项目中都要被用到,不知道你在使用 Redis 时,有没有思考过,Redis 到底是如何稳定、高性能地提供服务的? 我使用 Redis 的场景很简单,只使用单机版 Redis 会有什么问…

vite + react +typescript 环境搭建,小白入门级教程

目录前言1. 使用 vite 创建 react 项目1. npm / yarn 命令初始化2. 输入项目名称3. 选择框架4. 选择 Js / Ts5. 项目创建完成6. 启动项目2. 规范项目目录3. 使用 react-router-dom 路由1. 使用 npm / yarn 命令下载2. 更改 react-router-dom 版本1. 通过 npm 命令降低版本2. 手…

rabbitmq基础5——集群节点类型、集群节点基础运维,集群管理命令,API接口工具

文章目录一、集群节点类型1.1 内存节点1.2 磁盘节点二、集群基础运维2.1 剔除单个节点2.1.1 集群正常踢出正常节点2.1.2 服务器异常宕机踢出节点2.1.3 集群正常重置并踢出节点2.2 集群节点版本升级2.3 集群某单节点故障恢复2.3.1 机器硬件故障2.3.2 机器掉电2.3.3 网络故障2.3.…

Android ShapeableImageView使用

ShapeableImageView使用使用 导包 implementation com.google.android.material:material:1.4.0属性 属性描述shapeAppearance样式shapeAppearanceOverlay样式,叠加层strokeWidth描边宽度strokeColor描边颜色 样式 名称属性值描述cornerFamilyrounded圆角cut裁剪…

学习记录-mybatis+vue+elementUi实现品牌查询

和以往不同的是,这一次使用了vue和axios来接收后端传过来的参数,并且新建了impl文件来继承service层的接口。该过程实现一共分为4步骤 步骤一 ①mapper mapper 写mapper接口 其实就是写SQL语句了,第一步就是写SQL。这里使用的是注解开发&…