【Docker项目实战】使用Docker部署轻量级Markdown文本编辑器

时间:2024-10-14 11:37:59

【【Docker项目实战】使用Docker部署轻量级Markdown文本编辑器

  • 一、项目介绍
    • 1.1 项目简介
    • 1.2 使用方法
  • 二、本次实践介绍
    • 2.1 本地环境规划
    • 2.2 本次实践介绍
  • 三、本地环境检查
    • 3.1 安装Docker环境
    • 3.2 检查Docker服务状态
    • 3.3 检查Docker版本
    • 3.4 检查docker compose 版本
  • 四、拉取容器镜像
  • 五、部署项目
    • 5.1 编辑文件
    • 5.2 创建容器
    • 5.3 查看容器状态
    • 5.4 关闭防火墙
  • 六、访问项目
    • 6.1 访问初始页
    • 6.2 编辑文章
    • 6.3 查看帮助信息
    • 6.4 切换显示模式
    • 6.5 保存文本
  • 七、总结

一、项目介绍

1.1 项目简介

该工具是一个在浏览器中运行的轻量级、无干扰的文字编辑器,它支持Markdown和LaTeX语法。这个工具提供了一个干净简洁的写作环境,帮助用户集中注意力进行创作,特别适合需要撰写包含数学公式或科学记号的文章的作者使用。无论是写博客、学术论文还是小说,它都能提供一个高效且便捷的在线编辑体验。

1.2 使用方法

快捷键 功能描述
CTRL + D 切换显示模式
CTRL + P 打印或导出为PDF
CTRL + S 保存源代码为.MD文件
CTRL+SHIFT+H 显示帮助
? (左下角图标) 同样用于显示帮助

二、本次实践介绍

2.1 本地环境规划

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

hostname IP地址 操作系统版本 Docker版本
ubuntu-001 192.168.3.251 Ubuntu 22.04.1 LTS 24.0.7

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下轻量级Markdown文本编辑器。

三、本地环境检查

3.1 安装Docker环境

本次实践需要提前安装Docker环境,如果未安装,可以使用以下一键安装脚本部署Docker环境。

curl -fsSL  -o 
sh  --mirror Aliyun
  • 1
  • 2
  • Docker镜像加速配置
sudo tee /etc/docker/ <<EOF
{
    "registry-mirrors": [
        "",
        "",
        "",
        "",
        "",
        "https://docker."
    ]
}
EOF

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
systemctl daemon-reload  && systemctl restart docker
  • 1
  • 开启路由转发
echo "net.ipv4.ip_forward=1" >>  /etc/
systemctl restart network
sysctl net.ipv4.ip_forward
  • 1
  • 2
  • 3
  • 在/etc//文件中,写入以下内容:
vim /etc//
  • 1
echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
echo 1 > /proc/sys/net/bridge/bridge-nf-call-ip6tables
  • 1
  • 2
chmod +x /etc//
  • 1

3.2 检查Docker服务状态

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

root@ubuntu-001:~# systemctl status docker
●  - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2024-07-29 08:15:30 UTC; 2 days ago
TriggeredBy: ● 
       Docs: 
   Main PID: 325094 (dockerd)
      Tasks: 101
     Memory: 391.3M
        CPU: 1min 16.015s
     CGroup: //
             ├─325094 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

3.3 检查Docker版本

检查Docker版本,当前使用Docker版本为24.0.7

root@ubuntu-001:~#  docker -v
Docker version 24.0.7, build 24.0.7-0ubuntu2~22.04.1
  • 1
  • 2

3.4 检查docker compose 版本

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

root@ubuntu-001:~# docker compose version
Docker Compose version v2.19.1
  • 1
  • 2

四、拉取容器镜像

拉取该项目的容器镜像:/jeson/markdown_note:latest

root@ubuntu-001:~# docker pull /jeson/markdown_note:latest
latest: Pulling from jeson/markdown_note
Digest: sha256:763f28a197203e7f71965f2cee026fd855d49ffe08dc79f5ce8ff51140f908d9
Status: Image is up to date for /jeson/markdown_note:latest
/jeson/markdown_note:latest
  • 1
  • 2
  • 3
  • 4
  • 5

五、部署项目

5.1 编辑文件

可以使用docker-cli快速部署,也可以使用docker compose方式部署,本次实践使用docker compose方式部署。

  • docker-cli部署示例:
docker run -d --name markdown_note --restart always -p 6223:80 /jeson/markdown_note:latest
  • 1

编辑部署文件,内容如下:

vim 
  • 1
version: '3'
services:
  tower_game:
    container_name: markdown_note
    image: -/jeson/markdown_note:latest
    restart: always
    ports:
      - 6223:80

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

5.2 创建容器

执行docker compose up -d命令,创建容器。注意需要保证宿主机端中的6223没有被占用,防止端口冲突。

root@ubuntu-001:/data/markdown_note# docker compose up -d
[+] Running 2/2
 ✔ Network markdown_note_default  Created                                                                                                                0.1s
 ✔ Container markdown_note        Started                                                                                                                0.4s
  • 1
  • 2
  • 3
  • 4

5.3 查看容器状态

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

root@ubuntu-001:/data/markdown_note# docker compose ps
NAME                IMAGE                                                          COMMAND                  SERVICE             CREATED             STATUS          PORTS
markdown_note       /jeson/markdown_note:latest   "/usr/sbin/httpd -D …"   tower_game          15 seconds ago      Up 14 seconds       0.0.0.0:6223->80/tcp, :::6223->80/tcp
  • 1
  • 2
  • 3

5.4 关闭防火墙

在ubuntu系统下,关闭防火墙。

root@ubuntu-001:~/tower_game# ufw disable
防火墙在系统启动时自动禁用
root@ubuntu-001:~/tower_game# ufw status
状态:不活动
  • 1
  • 2
  • 3
  • 4

六、访问项目

6.1 访问初始页

访问地址:http://192.168.3.251:6223,将IP替换为自己服务器IP地址,进入进项目的初始页。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。

在这里插入图片描述

6.2 编辑文章

在左侧编辑器内使用markdown语法编辑文章内容,右侧可以预览效果。

在这里插入图片描述

6.3 查看帮助信息

在页面的右下角图标 ? ,可用于显示帮助信息。

在这里插入图片描述

6.4 切换显示模式

  • 使用 CTRL + D : 切换显示模式

在这里插入图片描述

6.5 保存文本

  • 使用 CTRL + P 打印或导出为PDF

在这里插入图片描述

  • 使用 CTRL + S :保存源代码为.MD文件 ,

在这里插入图片描述

七、总结

"Writing"编辑器凭借其在浏览器中无缝运行的轻量级设计,为用户打造了一个远离干扰、专注于创作的理想空间。通过融合Markdown与LaTeX的支持,它不仅简化了文本格式化的复杂度,更让撰写涉及数学公式和科学符号的内容变得得心应手,极大地提升了学术研究、科技写作及各类专业文档的编辑效率。无论是专业的学术工作者、热衷于技术写作的博主,还是追求灵感捕捉的文学创作者,"Writing"均能提供一个既高效又便捷的在线编辑体验,成为他们笔耕不辍的理想伙伴。