【Docker项目实战】使用Docker部署Hasty Paste粘贴应用程序

简介: 【6月更文挑战第10天】使用Docker部署Hasty Paste粘贴应用程序

一、Hasty Paste介绍

1.1 Hasty Paste简介

  • Hasty Paste简介
Hasty Paste是一款快速且最小的粘贴箱。

1.2 Hasty Paste特点

  • 快速粘贴并保存,分享一些文字
  • 公开访问,无需授权
  • 随机生成 id,可选“长”id 以减少暴力攻击
  • 添加过期粘贴
  • 深色主题
  • 可选语法高亮
  • 无需 JavaScript
  • 使用最少的资源
  • 休息API
  • 选择您的文件系统
  • 定制平面文件系统:🚧 S3 对象、缓存(内部和 Redis)
  • 轻量级 Docker 镜像(使用 Alpine Linux)

1.3 Hasty Paste使用场景

  • 在编辑文档时,可以将常用的段落、句子或短语复制到Hasty Paste中,以便日后快速粘贴使用,提高工作效率。
  • 在电子邮件或聊天应用中,经常需要回复相似的内容,可以将这些内容复制到Hasty Paste中,以便快速粘贴回复。
  • 在网上购物时,经常需要填写相同的收货地址或信用卡信息,可以将这些信息复制到Hasty Paste中,以便快速粘贴填写表单。
  • 在编程过程中,经常需要使用相同的代码块或命令,可以将这些代码复制到Hasty Paste中,以便快速粘贴使用,减少编码时间。
  • 在翻译工作中,经常需要翻译相同的词汇或短语,可以将这些内容复制到Hasty Paste中,以便快速粘贴使用,提高翻译速度。

二、本地环境介绍

2.1 本地环境规划

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

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.部署Hasty Paste粘贴应用程序。

三、本地环境检查

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 Thu 2023-12-21 18:58:04 CST; 3 days ago
     Docs: https://docs.docker.com
 Main PID: 11425 (dockerd)
    Tasks: 47
   Memory: 387.3M
   CGroup: /system.slice/docker.service
           ├─11425 /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

四、下载Hasty Paste镜像

从谷歌仓库中拉取hasty-paste镜像
[root@jeven ~]# docker pull  ghcr.io/enchant97/hasty-paste:latest
latest: Pulling from enchant97/hasty-paste
4abcf2066143: Pull complete
dca80dc46cec: Pull complete
fe9e15b6315c: Pull complete
a8fd6f3f484f: Pull complete
4fc96b5c1ba4: Pull complete
9aafb126fd55: Pull complete
dfb9b9c95022: Pull complete
8547febb9947: Pull complete
Digest: sha256:fab62283672928d3313bc4e2c7cb91c133c8a00c3d094417ce58c2c6d11272e1
Status: Downloaded newer image for ghcr.io/enchant97/hasty-paste:latest
ghcr.io/enchant97/hasty-paste:latest

五、部署Hasty Paste工具

5.1 创建目录

创建部署目录
mkdir -p /data/hasty-paste/data && cd /data/hasty-paste
目录授权
 chmod -R 777 /data/hasty-paste/

5.2 创建hasty-paste容器

使用docker-cli快速部署hasty-paste容器
docker run -d \
   --restart always \
   --name hasty-paste \
   -p 7800:8000 \
   -v  /data/hasty-paste/data:/app/data \
   ghcr.io/enchant97/hasty-paste:latest
使用docker compose运行hasty-paste容器
version: "3"

services:
  paste-bin:
    image: ghcr.io/enchant97/hasty-paste:latest
    container_name: hasty-paste
    restart: always
    ports:
      - 7800:8000
    volumes:
      - /data/hasty-paste/data:/app/data

  • 使用docker-compose.yaml文件创建webtop容器
[root@jeven hasty-paste]# docker compose up -d
[+] Running 2/2
 ⠿ Network hasty-paste_default  Created                                                                                                         0.3s
 ⠿ Container hasty-paste        Started                                                                                                         2.1s

5.3 检查hasty-paste容器状态

检查hasty-paste容器状态,确保hasty-paste容器正常启动。
[root@jeven hasty-paste]# docker compose ps
NAME                COMMAND                  SERVICE             STATUS               PORTS
hasty-paste         "/bin/sh entrypoint.…"   paste-bin           running (starting)   0.0.0.0:7800->8000/tcp, :::7800->8000/tcp

六、访问Hasty Paste首页

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

在这里插入图片描述

复制粘贴内容到Hasty Paste,编辑粘贴信息,创建即可。

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

确认创建后,就可以就此链接分享给其他人了。

在这里插入图片描述

七、总结

Hasty Paste是一款轻量、小巧的粘贴板工具,使用简单方便,可通过Docker快速部署。它具有简洁直观的界面,操作快速流畅,能够快速粘贴、保存和分享内容。在日常工作中,Hasty Paste能够极大提高工作效率。如果你需要一款高效的粘贴应用程序,不妨试试Hasty Paste。
相关文章
|
5天前
|
消息中间件 监控 RocketMQ
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
152 91
|
6天前
|
存储 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` 到非默认目录,以防止数据无法正确持久化。
|
13天前
|
JavaScript 前端开发 Docker
如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
通过这些步骤,可以确保您的Next.js应用在多核服务器上高效运行,并且在Docker环境中实现高效的容器化管理。
72 44
|
21天前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
25天前
|
SQL Java Maven
docker部署apollo
docker部署apollo步骤
|
1月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
58 23
|
1月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
49 22
|
6月前
|
运维 Java Devops
阿里云云效操作报错合集之部署docker时遇到报错,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
运维 Kubernetes 前端开发
【云原生】阿里云服务器部署 Docker Swarm集群
阿里云服务器 一键部署 Docker Swarm 集群!
729 0
【云原生】阿里云服务器部署 Docker Swarm集群
|
弹性计算 数据可视化 关系型数据库
使用阿里云部署基于docker的mysql云服务
本篇文章将介绍如何使用阿里云安装docker、部署mysql服务,并远程连接至远端mysql
729 1
使用阿里云部署基于docker的mysql云服务