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

news2024/11/20 1:23:32

一、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:latest

B.mkdir -p /docker-compose/mysql/conf /opt/module/mysql/data

C.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/conf

E.docker exec -it mysql /bin/bash

F.mysql -uroot -p
123456

G.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:latest

3.使用docker-compose启动一个zyplayer-doc的容器  
  
version: '3.9'
services:
    mysql:
        image: 'mysql:latest'
        environment:
            - MYSQL_ROOT_PASSWORD=123456
        ports:
            - '3306:3306'
        volumes:
            - '/docker-compose/mysql/data:/var/lib/mysql'
            - '/docker-compose/mysql/conf/my.cnf:/etc/mysql/my.cnf'
        container_name: mysql
        restart: unless-stopped
        
    zyplayer-doc:
        image: 'zyplayer/zyplayer-doc:latest'
        environment:
            - DATASOURCE_PASSWORD=123456
            - DATASOURCE_USER=root
            - 'DATASOURCE_HOST_PORT=192.168.2.76:3306'
        container_name: zyplayer-doc
        depends_on: 
	        - mysql
        ports:
            - '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.3
    Access address: http://172.17.0.3:8083/
-------------------------------------------------------------

五、访问zyplayer-doc

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

任意使用!

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

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

相关文章

计算机冯诺依曼体系结构

文章目录 前言一、冯诺依曼体系结构构成二、各硬件单元之间效率 前言 冯诺依曼体系结构是构成计算机的基本单元,是一个计算机架构,对于计算机来说冯诺依曼体系是基于计算机硬件的一套体系结构,现在的计算机都是遵循冯诺依曼体系结构建立设计…

ZooKeeper是如何保证数据一致性的?

目录 一、分布式一致性原理 二、ZooKeeper架构 2.1 ZAB 协议操作顺序性 2.2 领导者选举 成员身份 成员状态 领导者选举 三、总结 在分布式系统里的多台服务器要对数据状态达成一致,其实是一件很有难度和挑战的事情,因为服务器集群环境的软硬件故障随时…

信息学奥赛一本通之MAC端VSCode C++环境配置

前提 安装 Visual Studio CodeVSCode 中安装 C/C扩展确保 Clang 已经安装(在终端中输入命令:clang --version 来确认是否安装)未安装,在命令行执行xcode-select --install 命令,会自行安装,安装文件有点大…

ENVI实战—地物波谱分类

实验1:浏览内置波谱库 目的:学会使用波谱浏览器,浏览内置波谱库,以进行课程后继实验 过程: ①打开ENVI软件,在窗口选择“显示”并点击,找到“波谱库浏览器”并打开,此时可以浏览ENVI…

天童美语开学季|开启“热辣滚烫”的新学期

新学期伊始,孩子们即将踏入一个充满挑战和机遇的学习环境。在这个关键时刻,学校和家庭需要更加紧密地协调合作,以确保孩子们能够得到充分的支持和帮助,顺利成长。    在假期生活分享中开启新学期第一课      寒假里孩子们…

聚观早报 | 追觅科技亮相AWE2024;三星家电举办发布会

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 3月18日消息 追觅科技亮相AWE2024 三星家电举办发布会 深蓝汽车将采用华为HI模式 字节跳动2023年全球营收 特斯…

光伏便携式EL检测仪是什么?—科技助农

光伏便携式EL监测仪是一种专门用于检测光伏电池组件性能的高效、实用的设备。它利用电致发光(Electroluminescence,EL)原理,通过检测光伏板在受到光照后产生的电流所激发出的光线,来评估光伏板的性能。这种设备通常具有…

兰宝传感授权世强硬创代理全线产品,提高工业智能传感器市场渗透率

智能传感器作为工业物联、智能制造的关键核心部件,国产化进程下,当前国内市场对智能传感器的替代需求已从中低端产品延伸至高端产品,上游企业的产品也随之迭代更新。 为满足市场对高端智能传感器的多样化需求,世强先进&#xff0…

Armv8状态寄存器

Processor state AArch64没有与ARMv7当前程序状态寄存器直接对应的寄存器(CPSR)。在AArch64中,传统CPSR的组件以字段的形式提供可独立访问。这些统称为处理器状态(PSTATE)。 在AArch64中,通过执行ERET指令从异常中返回,这会导致要拷贝到PSTAT…

《手把手教你》系列技巧篇(四十)-java+ selenium自动化测试-JavaScript的调用执行-下篇(详解教程)

1.简介 在实际工作中,我们需要对处理的元素进行高亮显示,或者有时候为了看清楚做跟踪鼠标点击了哪些元素需要标记出来。今天宏哥就在这里把这种测试场景讲解和分享一下。 2.用法 创建一个执行 JS 的对象,也就是 JavascriptExecutor 对象&…

Flutter生命周期方法小技巧

需求 A界面跳转到B界面,暂停A界面的音乐或者视频B界面返回到A界面,播放A界面的音乐或者视频A界面切换到后台,暂停A界面的音乐或者视频A界面从后台切换到前台,播放A界面的音乐或者视频 需求通过理解修改为: 监听 StatefulWidget 的 onPause…

基于高斯模型的运动目标检测(车辆检测),Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

机器学习 --- 模型评估、选择与验证

Java实训代码、答案,如果能够帮到您,希望可以点个赞!!! 如果有问题可以csdn私聊或评论!!!感谢您的支持 第1关:为什么要有训练集与测试集 1、下面正确的是?&…

(每日持续更新)jdk api之StringReader基础、应用、实战

博主18年的互联网软件开发经验,从一名程序员小白逐步成为了一名架构师,我想通过平台将经验分享给大家,因此博主每天会在各个大牛网站点赞量超高的博客等寻找该技术栈的资料结合自己的经验,晚上进行用心精简、整理、总结、定稿&…

LeetCode 面试经典150题 121.买卖股票的最佳时机

题目: 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易…

数学建模——蒙特卡洛法

目录 1.介绍2.可以做的题型3.实战3.1求pi的值3.2求定积分x^2 的值 参加了大大小小很多场比赛了,但是都是混子,但还是打算记录一下吧,系统认真过一遍。后续功力深厚,会拓展写的文章,目前是干货,一些背景啥的…

蓝桥杯刷题(十)

1.翻转 代码 输入数据,每组数据进行比较,j的范围掐头去尾,若a[j]b[j],继续,若出现010,101子串则改成000,111,遍历完后比较a是否等于b,相同则输出次数,不同则输出-1。 for _ in ran…

CSS概念及入门

文章目录 1. CSS 概念及入门1.1. 简介1.2. 组成1.2.1. 选择器1.2.2. 属性 1.3. 区别 2. CSS 引入方式2.1. 行内样式2.1.1. 语法2.1.2. 特点 2.2. 内部样式2.2.1. 语法2.2.2. 特点 2.3. 外部样式2.3.1. 特点 2.4. 三种引入优先级 1. CSS 概念及入门 1.1. 简介 CSS 的全称为&am…

打破传统,拥抱未来:解锁企业数字化转型成功的11把金钥匙

数字化转型是一个持续的过程,需要企业不断地适应新技术和市场变化。企业如何提高转型成功的可能性,并在竞争激烈的市场中保持领先地位。今天我们来解锁企业数字化转型成功的11把金钥匙。 清晰的战略目标: 首先,企业需要明确数字化…

Python基础(八)之流程控制

Python基础(八)之流程控制 Python控制流程分为三种接口: 顺序结构选择结构循环结构 1、顺序结构 程序代码自上而下运行,逐条执行每一条Python代码,不重复执行任何代码,也不会跳过任何代码。 当语句与语…