【Docker项目实战】使用Docker部署CodeX Docs文档工具

简介: 【4月更文挑战第8天】使用Docker部署CodeX Docs文档工具

一、CodeX Docs介绍

1.1 CodeX Docs简介

  • CodeX Docs简介
CodeX Docs 是一个免费的文档应用程序,基于 Editor.js 平台,为处理内容提供了现代化的功能。无论是产品文档、团队内部文档、个人笔记还是其他任何需求,都可以选择使用它。

1.2 CodeX Docs特点

  • 🤩 编辑器 .js 生态系统提供支持
  • 📂 文档嵌套 — 创建您需要的任何结构
  • 📱 在桌面和移动设备上看起来不错
  • 🔥 漂亮的页面 URL。人类可读且对 SEO 友好。
  • 🦅 老鹰正在打猎。集成错误跟踪
  • 💌 将报告打印错误到 Telegram / Slack
  • 📈 Yandex Metrica 集成
  • 🚢 轻松部署 — 无需数据库和其他 deps
  • 🤙 配置简单
  • ⚙️ 根据需要调整 UI。折叠部分,隐藏侧边栏

1.3 CodeX Docs使用场景

  • 产品文档:CodeX Docs 可以用来创建和管理产品的用户手册、功能说明书、API 文档等。它提供了丰富的编辑功能,可以轻松地添加文本、图片、视频、代码块等内容,使得产品文档更加直观、易于理解。
  • 团队内部文档:CodeX Docs 可以用作团队内部的知识管理工具。团队成员可以使用它来共享和协作编辑各种文档,如项目计划、会议记录、技术文档等。它提供了实时编辑和评论功能,方便团队成员之间的交流和沟通。
  • 个人笔记:CodeX Docs 可以用来创建和组织个人笔记。你可以使用它来记录学习笔记、读书笔记、旅行日记等。它支持标签和目录的管理,可以方便地对笔记进行分类和查找。
  • 协作文档:CodeX Docs支持多人协作编辑,可以在团队项目、会议记录等场景中使用。用户可以邀请团队成员一起编辑文档,实时查看和更新编辑内容,并通过评论和提醒功能进行沟通和反馈。
  • 知识分享平台:CodeX Docs可以用作知识分享的平台,用户可以创建和分享教程、技术文章、问题解答等内容,供其他人参考和学习。通过CodeX Docs的搜索功能,其他用户可以轻松找到感兴趣的内容,并与作者互动交流。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。
hostname IP地址 操作系统版本 Docker版本
dokcer 192.168.3.166 centos 7.6 2 20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署CodeX Docs文档工具。

三、本地环境检查

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 2024-01-26 05:15:49 CST; 13h ago
     Docs: https://docs.docker.com
 Main PID: 8603 (dockerd)
    Tasks: 15
   Memory: 1.8G
   CGroup: /system.slice/docker.service
           └─8603 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 检查Docker版本

检查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

四、下载CodeX Docs镜像

从谷歌拉取CodeX Docs镜像,如果镜像拉取过慢,可尝试更换国内镜像加速源。
[root@jeven ~]# docker pull ghcr.io/codex-team/codex.docs:latest
latest: Pulling from codex-team/codex.docs
Digest: sha256:fc932818383a59193669ae46953bcc6f1baafee1a659a1200508c69aed0dbad5
Status: Image is up to date for ghcr.io/codex-team/codex.docs:latest
ghcr.io/codex-team/codex.docs:latest

五、部署CodeX Docs应用

5.1 创建部署目录

创建CodeX Docs部署目录/data/docker/codex/
mkdir -p /data/docker/codex/  && cd /data/docker/codex/

5.2 编辑docs-config.local.yaml文件

在 /data/docker/codex/目录下,编辑docs-config.local.yaml文件,可自定义暴露端口和访问密码。
port: 3000
host: "localhost"
uploads:
  driver: "local"
  local:
    path: "./uploads"
  s3:
    bucket: "my-bucket"
    region: "eu-central-1"
    baseUrl: "http://docs-static.codex.so.s3-website.eu-central-1.amazonaws.com"
    keyPrefix: "/"
    accessKeyId: "my-access-key"
    secretAccessKey: "my-secret-key"
frontend:
  title: "CodeX Docs"
  description: "Free Docs app powered by Editor.js ecosystemt"
  startPage: ""
  misprintsChatId: "12344564"
  yandexMetrikaId: ""
  carbon:
    serve: ""
    placement: ""
  menu:
    - "Guides"
    - title: "CodeX"
      uri: "https://codex.so"

auth:
  password: secretpassword
  secret: supersecret

hawk:
#  frontendToken: "123"
#  backendToken: "123"

database:
  driver: local # you can change database driver here. 'mongodb' or 'local'
  local:
    path: ./db
#  mongodb:
#    uri: mongodb://localhost:27017/docs

5.3 编辑docker-compose.yaml文件

如果需要使用docker-cli命令部署,执行以下命令即可,可自定更改映射端口,这里映射端口为6500。
docker run --name docs \
-p 6500:3000 \
-v /data/docker/codex/uploads:/usr/src/app/uploads \
-v /data/docker/codex/db:/usr/src/app/db \
-v /data/docker/codex/docs-config.local.yaml:/usr/src/app/docs-config.yaml \
ghcr.io/codex-team/codex.docs:latest
本次实践部署使用docker compose方式,编辑docker-compose.yaml文件。
version: '3.8'
services:
  docs:
    container_name: docs
    ports:
      - '6500:3000'
    volumes:
      - '/data/docker/codex/uploads:/usr/src/app/uploads'
      - '/data/docker/codex/db:/usr/src/app/db'
      - '/data/docker/codex/docs-config.local.yaml:/usr/src/app/docs-config.yaml'
    image: ghcr.io/codex-team/codex.docs:latest



5.3 创建codex.docs容器

使用docker-compose.yaml文件创建codex.docs容器
[root@jeven codex]# docker compose up -d
[+] Running 2/2
 ⠿ Network codex_default  Created                                                                                                               0.0s
 ⠿ Container docs         Started                                                                                                               0.3s

5.4 检查codex.docs容器状态

检查codex.docs容器状态,确保codex.docs容器正常启动。
[root@jeven codex]# docker compose ps
NAME                COMMAND                  SERVICE             STATUS              PORTS
docs                "docker-entrypoint.s…"   docs                running             0.0.0.0:6500->3000/tcp, :::6500->3000/tcp

5.5 检查codex.docs容器日志

5 检查codex.docs容器运行日志,确保codex.docs服务正常运行。
[root@jeven codex]# docker compose logs
docs  | Favicon is empty, using default path
docs  | ┌──────────────────────────────────┐
docs  | │ CodeX Docs server is running     │
docs  | │                                  │
docs  | │ Main page: http://localhost:3000 │
docs  | └──────────────────────────────────┘

六、访问CodeX Docs首页

6.1 CodeX Docs

将IP替换为自己服务器IP地址,进入到CodeX Docs首页。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。

在这里插入图片描述

6.2 新增文档

点击新增页面

在这里插入图片描述

编辑文档标题和内容

在这里插入图片描述

保存文档

在这里插入图片描述

6.2 浏览文档效果

查看文档效果

在这里插入图片描述

七、总结

CodeX Docs是一款简单、轻量级的文档与笔记工具。它拥有漂亮简洁的界面和操作简单易上手的特点,即使对于新手来说也能快速上手使用。CodeX Docs具有快速的页面响应速度和文档加载速度,非常适合日常使用,能提高工作和学习的效率。它提供了优雅的用户界面和丰富的编辑功能,让处理和组织内容变得非常容易。同时,CodeX Docs还在左侧的文档列表中设置了搜索框,方便快速查找对应文档。无论是个人使用还是团队协作,CodeX Docs都是一个非常好的选择。
相关文章
|
4天前
|
消息中间件 监控 RocketMQ
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
144 91
|
5天前
|
存储 NoSQL Redis
Docker 部署 Redis
在使用 Docker 部署 Redis 时,为实现数据持久化,需正确挂载容器内的数据目录到宿主机。推荐命令如下: ``` docker run -d --name redis -v /mnt/data/redis:/data -p 6379:6379 redis ``` 该命令将宿主机的 `/mnt/data/redis` 目录挂载到容器的 `/data` 目录,确保 Redis 数据持久化。此路径更通用,适合大多数场景。避免使用不匹配的挂载路径,如 `/var/lib/redis` 或 `/mnt/data/redis` 到非默认目录,以防止数据无法正确持久化。
|
20天前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
12天前
|
JavaScript 前端开发 Docker
如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
通过这些步骤,可以确保您的Next.js应用在多核服务器上高效运行,并且在Docker环境中实现高效的容器化管理。
71 44
|
6月前
|
运维 Java Devops
阿里云云效操作报错合集之部署docker时遇到报错,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
运维 Kubernetes 前端开发
【云原生】阿里云服务器部署 Docker Swarm集群
阿里云服务器 一键部署 Docker Swarm 集群!
728 0
【云原生】阿里云服务器部署 Docker Swarm集群
|
弹性计算 数据可视化 关系型数据库
使用阿里云部署基于docker的mysql云服务
本篇文章将介绍如何使用阿里云安装docker、部署mysql服务,并远程连接至远端mysql
729 1
使用阿里云部署基于docker的mysql云服务
|
弹性计算 Docker 容器
阿里云一键部署 Docker Datacenter
使用ROS模板在阿里云上一键部署Docker Datacenter
7849 0