Docker部署Dillinger个人文本编辑器

Docker部署Dillinger个人文本编辑器

  • 一、Dillinger介绍
    • 1.1 Dillinger简介
    • 1.2 Dillinger使用场景
  • 二、本地环境介绍
    • 2.1 本地环境规划
    • 2.2 本次实践介绍
  • 三、本地环境检查
    • 3.1 检查Docker服务状态
    • 3.2 检查Docker版本
    • 3.3 检查docker compose 版本
  • 四、拉取Dillinger镜像
  • 五、部署Dillinger应用
    • 5.1 创建部署目录
    • 5.2 创建Dillinger容器
    • 5.3 查看Dillinger容器状态
    • 5.4 查看Dillinger容器日志
  • 六、访问Dillinger首页
  • 七、基本使用
    • 7.1 新建文档
    • 7.2 导出文档
  • 八、总结

一、Dillinger介绍

1.1 Dillinger简介

Dillinger 是一个基于云、可移动的离线存储、基于AngularJS的H5 Markdown编辑器。

1.2 Dillinger使用场景

Dillinger作为一个集成了云端存储功能、支持离线使用并基于AngularJS框架的H5 Markdown编辑器,它的使用场景非常广泛,尤其适合以下几类用户和情境:

  1. 博客作者与内容创作者:对于经常需要编写博客文章、技术文档、新闻稿等内容的创作者而言,Dillinger提供了一个高效的编辑环境。用户可以在任何有网络连接的地方登录自己的账户进行创作,并且利用Markdown语法快速格式化文本,提升写作效率。离线存储功能意味着即便在没有网络的环境下也能继续工作,确保创意不间断。

  2. 程序员和技术文档撰写者:由于Markdown语言在程序员和技术社区中极为流行,Dillinger成为编写代码示例、API文档、技术教程的理想工具。它支持实时预览功能,帮助作者即时查看文档的渲染效果,确保技术说明的准确性。

  3. 学生和教育工作者:在撰写报告、论文草稿或是课程笔记时,Dillinger的简洁界面和Markdown语法能够帮助用户集中注意力于内容本身,而非复杂的排版操作。同时,云存储特性方便了资料的备份和多设备访问,无论是准备课堂讲义还是协作完成项目报告,都非常实用。

  4. 远程工作团队:对于经常需要远程协作的团队来说,Dillinger支持将文档导出为多种格式(如HTML、PDF)以及直接发布到GitHub等平台的能力,极大地促进了团队间的文件共享和版本控制。离线工作的能力也确保了在不稳定网络环境下工作的连续性。

  5. 个人日记或旅行记录:用户可以利用Dillinger的便携性和离线功能记录日常生活、旅行见闻。Markdown的简洁语法让记录变得轻松愉快,而云存储则确保这些珍贵的记忆可以安全地保存,并随时在不同设备上回顾和编辑。

二、本地环境介绍

2.1 本地环境规划

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

hostnameIP地址操作系统版本Docker版本
dokcer192.168.3.166centos 7.62 20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.使用Docker部署Dillinger个人文本编辑器

三、本地环境检查

3.1 检查Docker服务状态

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

[root@jeven tabler]# 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 Sun 2024-05-12 08:34:14 CST; 1 weeks 2 days ago
     Docs: https://docs.docker.com
 Main PID: 11565 (dockerd)
    Tasks: 16
   Memory: 2.4G
   CGroup: /system.slice/docker.service
           └─11565 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 检查Docker版本

检查Docker版本

[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

四、拉取Dillinger镜像

在谷歌镜像仓库拉取Dillinger镜像 ghcr.io/linuxserver/dillinger:latest

[root@jeven ~]#
[root@jeven ~]# docker pull ghcr.io/linuxserver/dillinger:latest
latest: Pulling from linuxserver/dillinger
Digest: sha256:58dc39f6cddee732241c78f89805bca608299471f66ec90a8028e10b2cadd1b4
Status: Image is up to date for ghcr.io/linuxserver/dillinger:latest
ghcr.io/linuxserver/dillinger:latest

五、部署Dillinger应用

5.1 创建部署目录

创建部署目录/data/dillinger/

mkdir -p /data/dillinger/ && cd /data/dillinger/

目录授权工作

chmod -R 777 /data/dillinger/

5.2 创建Dillinger容器

执行以下命令,快速创建Dillinger容器。

docker run -d \
  --name=dillinger \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Asia/Shanghai \
  -p 8080:8080 \
  -v  /data/dillinger/config/:/config \
  --restart unless-stopped \
ghcr.io/linuxserver/dillinger:latest

在这里插入图片描述

5.3 查看Dillinger容器状态

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

[root@jeven dillinger]# docker ps
CONTAINER ID   IMAGE                                  COMMAND     CREATED          STATUS          PORTS      NAMES
2edd2099ee78   ghcr.io/linuxserver/dillinger:latest   "/init"     38 seconds ago   Up 37 seconds   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   dillinger

5.4 查看Dillinger容器日志

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

docker logs dillinger 

在这里插入图片描述

六、访问Dillinger首页

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

在这里插入图片描述

七、基本使用

7.1 新建文档

将markdown格式文档复制到左侧编辑器内,可以看到右侧预览效果。

在这里插入图片描述

7.2 导出文档

点击导出文档,可以导出markdown文件和html文件。

在这里插入图片描述

八、总结

Dillinger是一款轻盈而强大的Markdown文档编辑器,专注于提供流畅的实时预览体验和高效Markdown支持,确保编写过程无碍。其出色的性能允许用户在编辑技术文档时享受即写即看的便捷,不仅支持快速导出为Markdown或HTML文件以适配多样需求,还特别强化了离线编辑能力,便于在任意地点进行文档创建与本地保存,成为技术文档编写与临时编辑任务的理想伴侣。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

创建一个vue3+vite+ts项目

目录 创建项目 ​编辑 下载jsx 插件 在根目录在新建.env vue.config.js tsconfig.json tsconfig.node.json 下载ui组件库和路由(组件库根据自己的项目需要选择) 在根目录下新建views/index.tsx 在根目录下新建router/index.ts 修改App.vue 创建…

机器学习笔记 人脸识别技术全面回顾和小结(2)

一、现实条件 随着人脸识别研究的深入,研究者开始关注现实条件下的人脸识别问题,主要包括以下几个方面的研究。首先,我们分析和研究了影响人脸识别的因素。第二,新特征表示的使用研究。第三,使用新数据源的研究。如表1…

TDD测试驱动开发

为什么需要TDD? 传统开发方式,带来大量的低质量代码,而代码质量带来的问题: 1.在缺陷的泥潭中挣扎 开发长时间投入在缺陷的修复中,修复完依赖测试做长时间的回归测试 2.维护困难,开发缓慢 比如重复代码&am…

数据库系统概论(第5版教材)

第一章 绪论 1、数据(Data)是描述事物的符号记录; 2、数据库系统的构成:数据库 、数据库管理系统(及其开发工具) 、应用程序和数据库管理员; 3、数据库是长期存储在计算机内、有组织、可共享的大量数据的集合&…

【List集合排序】

List集合排序Demo import com.google.common.collect.Lists; import lombok.AllArgsConstructor; import lombok.NoArgsConstructor;import java.util.*;/*** list order demo*/ public class ListOrderDemo {public static void main(String[] args) {List<String> lis…

Nginx和CDN运用

一.Web缓存代理 1.工作机制 代替客户机向网站请求数据&#xff0c;从而可以隐藏用户的真实IP地址。将获得的网页数据&#xff08;静态Web元素&#xff09;保存到缓存中并发送给客户机&#xff0c;以便下次请求相同的数据时快速响应。 2.代理服务器的概念 代理服务器是一个位…

操作系统期末复习真题四

一、前言&#x1f680;&#x1f680;&#x1f680; 小郑在刷题的过程中帮大家整理了一些常见的考试题目&#xff0c;以及易于遗忘的知识点&#xff0c;希望对大家有所帮助。 二、正文☀️☀️☀️ 1.OS的不确定性是指(ABC)。 A.程序的运行次序不确定 B.程序多次运行的时间不…

MySQL之如何定位慢查询

1、如何定位慢查询 1.1、使用开源工具 调试工具&#xff1a;Arthas 运维工具&#xff1a;Promethuss、Skywalking 1.2、MySQL自带慢日志 慢查询日志记录了所有执行时间超过指定参数&#xff08;long_query_time&#xff0c;单位&#xff1a;秒&#xff0c;默认10秒&#x…

ONLYOFFICE 桌面编辑器 8.1使用体验分享

目录 编辑器市场现状与用户选择 ONLYOFFICE桌面编辑器概览和功能 ONLYOFFICE桌面编辑器概览 功能丰富的PDF编辑器 演示文稿编辑器的创新 文档编辑的灵活性 电子表格的高级功能 语言和本地化 用户界面和体验 媒体播放 云服务和本地处理 跨平台支持 总结 在线亲身体…

【后端面试题】【中间件】【NoSQL】ElasticSearch 节点角色、写入数据过程、Translog和索引与分片

中间件的常考方向&#xff1a; 中间件如何做到高可用和高性能的&#xff1f; 你在实践中怎么做的高可用和高性能的&#xff1f; Elasticsearch节点角色 Elasticsearch的节点可以分为很多种角色&#xff0c;并且一个节点可以扮演多种角色&#xff0c;下面列举几种主要的&…

SpringBoot使用Spark的DataFrame API

什么是Spark&#xff1f; Apache Spark是一个开源的分布式计算系统&#xff0c;它提供了一个快速和通用的集群计算平台。Spark 能够处理大规模数据&#xff0c;支持多种编程语言&#xff0c;如Scala、Java和Python&#xff0c;并且具有多种高级功能&#xff0c;包括SQL查询、机…

论文浅尝 | 通过基于动态文档知识图谱增强的大语言模型故事理解

笔记整理&#xff1a;许方舟&#xff0c;天津大学硕士&#xff0c;研究方向为知识图谱 链接&#xff1a;https://ojs.aaai.org/index.php/AAAI/article/view/21286 1. 动机 基于大型 Transformer 的语言模型在需要叙事理解的各种任务上取得了令人难以置信的成功&#xff0c;包括…

填报志愿选专业是兴趣重要还是前景重要?

进行专业评估&#xff0c;找到一个适合自己的专业是一件非常困难的事情。在进行专业选择时&#xff0c;身上理想化色彩非常严重的人&#xff0c;会全然不顾及他人的劝阻&#xff0c;义无反顾的以兴趣为主&#xff0c;选择自己热爱的专业。一些较多考虑他人建议&#xff0c;能听…

Golang | Leetcode Golang题解之第206题反转链表

题目&#xff1a; 题解&#xff1a; func reverseList(head *ListNode) *ListNode {if head nil || head.Next nil {return head}newHead : reverseList(head.Next)head.Next.Next headhead.Next nilreturn newHead }

cuda编码入门学习笔记

在日常深度学习和科学计算中,使用图形处理器(GPU)进行加速是一个常见的做法。CUDA (Compute Unified Device Architecture) 是英伟达公司提供的用于GPU编程的平台和编程模型。同时它是一种并行计算模型,允许开发人员使用标准C语言对GPU进行编程。CUDA的核心思想是将任务分解为…

Linux开发讲课20--- QSPI

SPI 是英语 Serial Peripheral interface 的缩写&#xff0c;顾名思义就是串行外围设备接口&#xff0c;一种高速的&#xff0c;全双工&#xff0c;同步的通信总线&#xff0c;并且在芯片的管脚上只占用四根线&#xff0c;节约了芯片的管脚&#xff0c;为 PCB 的布局上节省空间…

20240629在飞凌的OK3588-C开发板的Linux R4系统下使用i2cdetect确认I2C总线

rootok3588:/# i2cdetect -y -r 0 rootrk3588-buildroot:/# i2cdetect -l rootrk3588-buildroot:/# i2cdetect -F 0 20240629在飞凌的OK3588-C开发板的Linux R4系统下使用i2cdetect确认I2C总线 2024/6/29 15:37 在CAM1、CAM2挂载OV13850。 在CAM3、CAM4和CAM5挂载OV5645了。 in…

AI大模型技术在音乐创造的应用前景

大模型技术在音乐创作领域具有广阔的应用前景&#xff0c;可以为音乐家、作曲家和音乐爱好者提供以下方面的帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 音乐创作辅助&#xff1a;大模型可以帮助音乐家和作曲家生成旋律、和声…

利用微信开放标签<wx-open-launch-weapp>在H5中跳转微信小程序报错完美的解决方案

一、报错&#xff1a; [WXTAG] [JSCORE] The slot <template> or <script type"text/wxtag-template"> of <wx-open-launch-weapp> is missing 二、源码 官方源代码如下&#xff0c;<script type"text/wxtag-template"></sc…

02.Linux下安装FFmpeg

目录 一、下载FFmpeg的编译源码 二、编译源码 三、ffmpeg工具结构解析 1、bin目录 2、include库 3、lib库 四、注意事项 五、可能出现的一些问题 1、某些工具未安装/版本过久 2、缺少pkg-config工具 3、缺少ffmplay FFmpeg 是一个开源的跨平台音视频处理工具集&…