【打工日常】使用Docker部署zyplayer_doc团队协作文档

2024-03-18 08:52

本文主要是介绍【打工日常】使用Docker部署zyplayer_doc团队协作文档,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、zyplayer-doc介绍

1.zyplayer-doc是一款适合企业和个人使用的WIKI知识库管理工具,提供在线化的知识库管理功能,专为私有化部署而设计,最大程度上保证企业或个人的数据安全,公司小团队的话完全可以局域网部署一个。

2.它也可以将其作为企业产品的说明文档来使用,支持一键将整个空间的内容开放到互联网,并提供有不同风格的开放文档页样式可供选择,省去为了产品的说明文档而去定制开发一个系统的成本。

3.管理控制台做到了用户的统一登录控制、文档导航、以及用户管理,其中统一登录支持三方的SSO登录系统接入,用户管理可对系统所有用户进行增删改查操作。

4.知识库支持按空间隔离,每个空间内文档相互独立,互不影响,每个空间可单独设置LOGO和封面,设置空间开放状态及空间成员权限,知识库页面可对所有的文档标题及内容进行搜索,空间可无限创建,无数量限制。空间内可创建页面,支持HTML富文本编辑器和Markdown编辑

二、本次实践介绍

本次实践简介

本次实践部署环境为个人测试环境

本地环境规划

本次实践环境规划:下载镜像fastposter/fastposter:latest,通过docker-cli或者docker compose启动容器

镜像命名IP地址容器镜像版本操作系统版本
zyplayer-doc192.168.2.76latestubuntu 22.04

三、检查本地Docker环境

检查本地Docker版本

检查Docker版本:docker version  root@WellDone:/home/goodjob# docker version  
Client: Docker Engine - Community  Version:           25.0.0  API version:       1.44  Go version:        go1.21.6  Git commit:        e758fe5  Built:             Thu Jan 18 17:09:49 2024  OS/Arch:           linux/amd64  Context:           default  Server: Docker Engine - Community  Engine:  Version:          25.0.0  API version:      1.44 (minimum version 1.24)  Go version:       go1.21.6  Git commit:       615dfdf  Built:            Thu Jan 18 17:09:49 2024  OS/Arch:          linux/amd64  Experimental:     false  containerd:  Version:          1.6.27  GitCommit:        a1496014c916f9e62104b33d1bb5bd03b0858e59  runc:  Version:          1.1.11  GitCommit:        v1.1.11-0-g4bccb38  docker-init:  Version:          0.19.0  GitCommit:        de40ad0  
root@WellDone:/home/goodjob#

检查Docker服务状态

检查Docker服务状态,确保Docker服务正常运行。

systemctl status docker  root@WellDone:/home/goodjob/Downloads# systemctl status docker  
● docker.service - Docker Application Container Engine  Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)  Active: active (running) since Wed 2024-01-24 08:54:31 CST; 1 day 4h ago  
TriggeredBy: ● docker.socket  Docs: https://docs.docker.com  Main PID: 1549 (dockerd)  Tasks: 65  Memory: 419.5M  CPU: 38.874s  CGroup: /system.slice/docker.service  ├─  1549 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock  ├─  2010 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 6379 -container-ip 172.17.0.2 -container-port 6379  ├─  2016 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 6379 -container-ip 172.17.0.2 -container-port 6379  ├─  2029 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 5432 -container-ip 172.17.0.3 -container-port 5432  ├─  2036 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 5432 -container-ip 172.17.0.3 -container-port 5432  ├─123083 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8888 -container-ip 172.17.0.4 -container-port 8080  └─123095 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8888 -container-ip 172.17.0.4 -container-port 8080  1月 24 08:54:31 WellDone dockerd[1549]: time="2024-01-24T08:54:31.067895045+08:00" level=info msg="API listen on /run/docker.sock"  
1月 24 08:54:31 WellDone systemd[1]: Started Docker Application Container Engine.  
1月 24 16:13:48 WellDone dockerd[1549]: time="2024-01-24T16:13:48.185008219+08:00" level=info msg="ignoring event" container=8ad99af82d8a41dd661d>  
1月 24 16:13:48 WellDone dockerd[1549]: time="2024-01-24T16:13:48.189484205+08:00" level=warning msg="ShouldRestart failed, container will not be>  
1月 24 21:58:08 WellDone dockerd[1549]: time="2024-01-24T21:58:08.024915139+08:00" level=info msg="ignoring event" container=27fd28e2993f31b170b8>  
1月 24 21:58:08 WellDone dockerd[1549]: time="2024-01-24T21:58:08.029986730+08:00" level=warning msg="ShouldRestart failed, container will not be>  
1月 25 10:46:16 WellDone dockerd[1549]: time="2024-01-25T10:46:16.329180722+08:00" level=info msg="Container failed to exit within 10s of signal >  
1月 25 10:46:16 WellDone dockerd[1549]: time="2024-01-25T10:46:16.350757439+08:00" level=info msg="ignoring event" container=b1223add00f36bbb3246>  
1月 25 10:49:21 WellDone dockerd[1549]: time="2024-01-25T10:49:21.993755983+08:00" level=info msg="Container failed to exit within 10s of signal >  
1月 25 10:49:22 WellDone dockerd[1549]: time="2024-01-25T10:49:22.015822650+08:00" level=info msg="ignoring event" container=edb0e153b45dbe62acd8>  
lines 1-28/28 (END)

四、部署zyplayer-doc镜像

下载zyplayer-doc镜像

docker pull zyplayer/zyplayer-doc:latest root@HEJIAJIN-FX506HE:/docker_software# docker pull zyplayer/zyplayer-doc:latest
Using default tag: latest
latest: Pulling from zyplayer/zyplayer-doc
7d63c13d9b9b: Pull complete 
6ad2a11ca37b: Pull complete 
8076cdef4689: Pull complete 
0ba90f5a7dd0: Pull complete 
27c191df269f: Pull complete 
e332e26a6509: Pull complete 
b6aa2cfacc25: Pull complete 
Digest: sha256:0d1c173c7bc5ef6b51a815a995f06dd89b4902e4773be98687259134cf6ea267
Status: Downloaded newer image for zyplayer/zyplayer-doc:latest
docker.io/zyplayer/zyplayer-doc:latest

创建容器

使用docker快速创建zyplayer-doc的容器。

完整创建过程:
1.先需要有对应对应的mysql,库名是zyplayer_doc如果还没有mysql的,可以快速创建一个,如下:A.docker pull mysql:latestB.mkdir -p /docker-compose/mysql/conf /opt/module/mysql/dataC.vim /docker-compose/mysql/conf/my.cnf
编辑的时候输入如下:
[client]
default-character-set = utf8
[mysqld]
bind-address=0.0.0.0
datadir = /docker-compose/mysql/data
character_set_server = utf8
collation_server = utf8_bin
secure-file-priv= NULL
symbolic-links=0
!includedir /etc/mysql/conf.d/D.保存,启动mysql
docker run --restart=unless-stopped -d --name mysql -v /docker-compose/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /docker-compose/mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:latest注:以上挂载的路径需要自己设定,如/docker-compose/mysql/confE.docker exec -it mysql /bin/bashF.mysql -uroot -p
123456G.create database zyplayer_doc;2.使用docker-cli启动一个zyplayer-doc的容器。docker run -d -p 8989:8083 --name zyplayer-doc -e DATASOURCE_HOST_PORT=192.168.2.76:3306 -e DATASOURCE_USER=root -e DATASOURCE_PASSWORD=123456 zyplayer/zyplayer-doc:latest3.使用docker-compose启动一个zyplayer-doc的容器  version: '3.9'
services:mysql:image: 'mysql:latest'environment:- MYSQL_ROOT_PASSWORD=123456ports:- '3306:3306'volumes:- '/docker-compose/mysql/data:/var/lib/mysql'- '/docker-compose/mysql/conf/my.cnf:/etc/mysql/my.cnf'container_name: mysqlrestart: unless-stoppedzyplayer-doc:image: 'zyplayer/zyplayer-doc:latest'environment:- DATASOURCE_PASSWORD=123456- DATASOURCE_USER=root- 'DATASOURCE_HOST_PORT=192.168.2.76:3306'container_name: zyplayer-docdepends_on: - mysqlports:- '8989:8083'

检查容器运行状态

检查容器的运行状态,确保服务的正常运行。
docker ps

NAME         IMAGE                    COMMAND                   SERVICE      CREATED         STATUS         PORTS
3470b66ac5ee   zyplayer/zyplayer-doc:latest                                       "java -Djava.securit…"   3 seconds ago       Up 2 seconds              0.0.0.0:8989->8083/tcp, :::8989->8083/tcp              zyplayer-doc

查看容器运行日志
docker logs -f zyplayer-doc

root@HEJIAJIN-FX506HE:/docker-compose/mysql/conf# docker logs -f zyplayer-doc
[2024-03-17 15:36:50][INFO ][Application] Starting Application using Java 11.0.16 on 3470b66ac5ee with PID 1 (/zyplayer-doc.jar started by root in /)
[2024-03-17 15:36:50][INFO ][Application] No active profile set, falling back to 1 default profile: "default"
[2024-03-17 15:36:50][INFO ][RepositoryConfigurationDelegate] Bootstrapping Spring Data LDAP repositories in DEFAULT mode.
[2024-03-17 15:36:50][INFO ][RepositoryConfigurationDelegate] Finished Spring Data repository scanning in 10 ms. Found 0 LDAP repository interfaces.
[2024-03-17 15:36:50][INFO ][a] 缓存策略:内存缓存
[2024-03-17 15:36:51][INFO ][TomcatWebServer] Tomcat initialized with port(s): 8083 (http)
[2024-03-17 15:36:51][INFO ][Http11NioProtocol] Initializing ProtocolHandler ["http-nio-8083"]
[2024-03-17 15:36:51][INFO ][StandardService] Starting service [Tomcat]
[2024-03-17 15:36:51][INFO ][StandardEngine] Starting Servlet engine: [Apache Tomcat/9.0.82]
[2024-03-17 15:36:51][INFO ][[/]] Initializing Spring embedded WebApplicationContext
[2024-03-17 15:36:51][INFO ][ServletWebServerApplicationContext] Root WebApplicationContext: initialization completed in 1043 ms
[2024-03-17 15:36:51][INFO ][DruidDataSource] {dataSource-1,zyplayer-doc-1} inited
[2024-03-17 15:36:52][INFO ][a] 开始检查当前数据库DDL版本
[2024-03-17 15:36:52][INFO ][a] 当前数据库DDL已是最新版本:2.3.3
[2024-03-17 15:36:53][INFO ][WelcomePageHandlerMapping] Adding welcome page: class path resource [META-INF/resources/index.html]
[2024-03-17 15:36:53][INFO ][Http11NioProtocol] Starting ProtocolHandler ["http-nio-8083"]
[2024-03-17 15:36:53][INFO ][TomcatWebServer] Tomcat started on port(s): 8083 (http) with context path ''
[2024-03-17 15:36:53][INFO ][Application] Started Application in 3.492 seconds (JVM running for 3.903)
[2024-03-17 15:36:53][INFO ][Application] 
-------------------------------------------------------------zyplayer-doc Launch completed, Current version: 2.3.3Access address: http://172.17.0.3:8083/
-------------------------------------------------------------

五、访问zyplayer-doc

访问地址:http://localhost:898 账号zyplayer 密码123456

任意使用!

这篇关于【打工日常】使用Docker部署zyplayer_doc团队协作文档的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/821832

相关文章

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre

python使用try函数详解

《python使用try函数详解》Pythontry语句用于异常处理,支持捕获特定/多种异常、else/final子句确保资源释放,结合with语句自动清理,可自定义异常及嵌套结构,灵活应对错误场景... 目录try 函数的基本语法捕获特定异常捕获多个异常使用 else 子句使用 finally 子句捕获所

C++11右值引用与Lambda表达式的使用

《C++11右值引用与Lambda表达式的使用》C++11引入右值引用,实现移动语义提升性能,支持资源转移与完美转发;同时引入Lambda表达式,简化匿名函数定义,通过捕获列表和参数列表灵活处理变量... 目录C++11新特性右值引用和移动语义左值 / 右值常见的左值和右值移动语义移动构造函数移动复制运算符

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

C#中lock关键字的使用小结

《C#中lock关键字的使用小结》在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时,其他线程无法访问同一实例的该代码块,下面就来介绍一下lock关键字的使用... 目录使用方式工作原理注意事项示例代码为什么不能lock值类型在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时

MySQL 强制使用特定索引的操作

《MySQL强制使用特定索引的操作》MySQL可通过FORCEINDEX、USEINDEX等语法强制查询使用特定索引,但优化器可能不采纳,需结合EXPLAIN分析执行计划,避免性能下降,注意版本差异... 目录1. 使用FORCE INDEX语法2. 使用USE INDEX语法3. 使用IGNORE IND

C# $字符串插值的使用

《C#$字符串插值的使用》本文介绍了C#中的字符串插值功能,详细介绍了使用$符号的实现方式,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录$ 字符使用方式创建内插字符串包含不同的数据类型控制内插表达式的格式控制内插表达式的对齐方式内插表达式中使用转义序列内插表达式中使用

flask库中sessions.py的使用小结

《flask库中sessions.py的使用小结》在Flask中Session是一种用于在不同请求之间存储用户数据的机制,Session默认是基于客户端Cookie的,但数据会经过加密签名,防止篡改,... 目录1. Flask Session 的基本使用(1) 启用 Session(2) 存储和读取 Se

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (