【Docker项目实战】Docker环境下部署docat文档管理系统

简介: 【2月更文挑战第18天】Docker环境下部署docat文档管理系统

一、docat介绍

  • docat简介

    docat是一个简单开源的自托管文档管理系统,它旨在帮助团队和组织更好地管理和共享文档。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname IP地址 操作系统版本 Docker版本
jeven 192.168.3.166 centos 7.6 20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.需要提前在服务器上配置好Docker环境,确保Docker环境正常;
3.在Docker环境下部署docat文档管理系统。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2023-12-08 19:10:36 CST; 2 days ago
     Docs: https://docs.docker.com
 Main PID: 11729 (dockerd)
    Tasks: 38
   Memory: 1.3G
   CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本,当前使用版本为20.10.17。

[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

四、下载docat镜像

从谷歌镜像仓库拉取docat镜像,版本为latest版本,如果下载过慢,可以配置国内云厂商的镜像加速,或者使用第三方的容器镜像加速服务。

[root@jeven ~]# docker pull   ghcr.io/docat-org/docat
Using default tag: latest
latest: Pulling from docat-org/docat
a378f10b3218: Already exists
c11bdfacfd25: Pull complete
64fc9a66a5d8: Pull complete
5146634606ba: Pull complete
479ce1f6823a: Pull complete
bf870de2c3ef: Pull complete
ea2d8a284c4a: Pull complete
4f4fb700ef54: Pull complete
aa6dcd230ba7: Pull complete
c74a0bc6e22f: Pull complete
0b0e8e29ac38: Pull complete
909d5fd77059: Pull complete
Digest: sha256:934b7c1cbb4faba59d6afeb629309b337f0b5f81165b97471b38bc12a8933ce5
Status: Downloaded newer image for ghcr.io/docat-org/docat:latest
ghcr.io/docat-org/docat:latest

五、部署docat文档管理系统

5.1 使用docker-cli创建docat容器

使用docker-cli快速部署docat容器

docker run -d \
  --name docat \
  --restart always \
  -v  /data/docat/data:/var/docat/ \
  -p  8200:80 \
  ghcr.io/docat-org/docat

5.2 创建目录

创建主机挂载目录

mkdir -p /data/docat/data && cd /data/docat/

设置目录权限

 chmod -R 777  /data/docat/

5.3 使用docker compose创建docat容器

使用docker compose部署docat容器

version: '3.8'

services:
  docat:
    image: ghcr.io/docat-org/docat
    container_name: docat
    restart: always
    volumes:
      - /data/docat/data:/var/docat/
    ports:
      - "8200:80"
  • 使用docker-compose.yaml文件创建docat容器
    [root@jeven docat]# docker compose up -d
    [+] Running 2/2
    ⠿ Network docat_default  Created                                                                                       0.0s
    ⠿ Container docat        Started                                                                                       1.0s
    

5.4 检查docat容器状态

检查docat容器状态,确保容器正常启动。

[root@jeven docat]# docker compose ps
NAME                COMMAND                  SERVICE             STATUS              PORTS
docat               "/usr/bin/dumb-init …"   docat               running             0.0.0.0:8200->80/tcp, :::8200->80/tcp

5.3 检查docat容器日志

检查docat容器运行日志,确保docat服务正常运行。

[root@jeven docat]# docker compose logs
docat  | INFO:     Started server process [11]
docat  | INFO:     Waiting for application startup.
docat  | INFO:     Application startup complete.
docat  | INFO:     Uvicorn running on http://0.0.0.0:5000 (Press CTRL+C to quit)

六、访问docat服务

6.1 访问docat首页

访问地址:http://192.168.3.166:8200/,将IP更换为自己服务器的IP地址。如果无法访问,注意防火墙和安全组设置问题,如果是使用云厂商服务器,需要放行安全组的服务端口。

在这里插入图片描述

6.2 上传文档

在docat首页中,在右下角位置点击上传文档的图标。

在这里插入图片描述

填写项目名称,文档的版本,将文档压缩包进行上传后,在点击“update”进行更新。

在这里插入图片描述

6.3 查看文档

这个项目部署完成后,发现点击文档名称,自动跳转的链接错误,需要手动修改下链接才能打开文档。

在这里插入图片描述
在这里插入图片描述

将链接后面部分改为版本加文档名的形式,例如这里错误跳转的是http://192.168.3.166:8200/#/mydoc/latest,修改为http://192.168.3.166:8200/#/mydoc/v1.0.0/cloud.pdf

在这里插入图片描述

七、总结

1.这个项目适合初学者练习,但不建议在生产或个人环境中部署。
2.项目的部署过程简单且轻量,版本管理也很好。
3.项目的文档链接跳转存在问题,需要手动修改链接,不太方便。
4.在网上找到该项目的部署资料比较困难,按照项目文档使用docker方式部署时遇到了上述问题,希望未来版本开发者能够改进和升级。

相关文章
|
1天前
|
测试技术 数据安全/隐私保护 Docker
Docker部署开源项目Django-CMS企业内容管理系统
【5月更文挑战第20天】Docker部署开源项目Django-CMS企业内容管理系统
11 1
|
2天前
|
Java 关系型数据库 Docker
docker打包部署spring boot应用(mysql+jar+Nginx)
docker打包部署spring boot应用(mysql+jar+Nginx)
|
2天前
|
监控 Cloud Native 持续交付
云原生之使用Docker部署Magma导航页
【5月更文挑战第19天】云原生之使用Docker部署Magma导航页
19 0
|
3天前
|
Java Maven Docker
Docker化Spring Boot3应用:从镜像构建到部署
本文介绍了如何在Linux上通过命令行构建和运行Spring Boot 3服务的Docker镜像。首先,基于Ubuntu创建包含JDK 21的基础镜像,然后使用Maven打包Spring Boot应用。接着,构建服务镜像,将应用和依赖添加到镜像中,并设置工作目录和暴露端口。最后,利用docker-compose部署服务,挂载宿主机目录以方便更新静态文件。Docker简化了应用部署,确保了不同环境的一致性。
39 2
Docker化Spring Boot3应用:从镜像构建到部署
|
3天前
|
Cloud Native 搜索推荐 测试技术
云原生之使用Docker部署homarr个人导航页
【5月更文挑战第18天】云原生之使用Docker部署homarr个人导航页
28 1
|
4天前
|
Cloud Native 测试技术 数据库
【云原生之Docker实战】使用Docker部署flatnotes笔记工具
【5月更文挑战第17天】使用Docker部署flatnotes笔记工具
39 8
|
5天前
|
JSON 测试技术 定位技术
【好用的个人工具】在Docker环境下部署Simple mind map思维导图工具
【5月更文挑战第16天】在Docker环境下部署Simple mind map思维导图工具
24 1
【好用的个人工具】在Docker环境下部署Simple mind map思维导图工具
|
弹性计算 应用服务中间件 Linux
Day2 基于ECS快速搭建Docker环境
简介: 容器技术 容器是一个允许我们在资源隔离的过程中,运行应用程序和其依赖项的 、轻量的 、操作系统级别的虚拟化技术, 运行应用程序所需的所有必要组件都打包为单个镜像,这个镜像是可以重复使用的。当镜像运行时,它是运行在独立的环境中,并不会和其他的应用共享主机操作系统的内存、CPU或磁盘。这保证了容器内的进程不会影响到容器外的任何进程。 Docker:类似于虚拟机 但是比虚拟机运行小切简单 Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不
337 0
|
弹性计算 应用服务中间件 Linux
基于ECS快速搭建Docker环境
本教程介绍如何快速搭建Docker环境,并使用Docker部署一个Nginx服务。
基于ECS快速搭建Docker环境
|
弹性计算 应用服务中间件 nginx