前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【Docker项目实战】使用Docker部署MicroBin粘贴应用程序

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

原创
作者头像
江湖有缘
发布2024-12-28 12:53:14
发布2024-12-28 12:53:14
1270
举报
文章被收录于专栏:Linux成长之路Linux成长之路

@TOC

一、 MicroBin介绍

1.1 MicroBin简介

MicroBin 是一个超小型、功能丰富、高度可配置、安全、独立且自托管的 Pastebin Web 应用程序,使用 Rust 编程语言开发。它旨在为用户提供一种简单、高效的方式,以分享文件、文本和URL,并支持多种高级特性,如服务器端和客户端加密、文件上传、原始文本服务、QR码生成、URL缩短与重定向等。

1.2 主要特点

  • 完全独立的可执行文件:MicroBin 被设计成一个微型箱(微型应用程序),这意味着它可以被打包成一个单独的文件,无需外部依赖即可运行。
  • 服务器端和客户端加密:确保数据在传输过程中的安全性,保护用户隐私。
  • 文件上传服务:允许用户通过简单的接口上传文件到指定位置(如 server.com/file/pig-dog-cat)。
  • 原始文本服务:提供直接访问上传文本的功能,例如通过 server.com/raw/pig-dog-cat 可以直接查看或下载原始文本内容。
  • QR码支持:生成文件或链接的二维码,便于分享。
  • URL缩短与重定向:提供短链接服务,使长URL更易于分享和记忆。
  • 动物名称作为标识符:使用64种不同动物的名字代替传统的数字或字母组合作为上传内容的唯一标识符,增加趣味性和易记性。
  • 轻量级和JSON数据库支持:MicroBin 支持轻量级的数据存储解决方案,包括基于JSON的数据库,适合资源有限的环境。
  • 私人和公共上传选项:支持创建私有或公开的上传内容,根据需求设置是否可编辑以及过期时间。
  • 自动管理和永不过期的上传:对于需要长期保存的内容,MicroBin 提供了自动管理功能,确保上传内容不会因时间而失效。
  • 全自动暗模式和定制样式支持:内置了对暗模式的支持,并允许用户根据个人偏好调整界面样式,仅需少量的CSS和纯JavaScript代码即可实现高度定制化。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。

hostname

IP地址

操作系统版本

Docker版本

镜像名称

备注

jeven01

192.168.3.88

Ubuntu 22.04.1 LTS

27.1.1

danielszabo99/microbin:latest

——

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;

2.在Docker环境下部署MicroBin粘贴应用程序。

三、本地环境检查

3.1 检查Docker服务状态

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

代码语言:bash
复制
root@jeven01:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2024-11-01 00:45:50 CST; 3 weeks 0 days ago
       Docs: https://docs.docker.com
   Main PID: 10450 (dockerd)
      Tasks: 150 (limit: 9387)
     Memory: 3.4G
        CPU: 46min 54.584s
     CGroup: /system.slice/docker.service
             ├─10450 /usr/bin/dockerd
             ├─10459 containerd --config /var/run/docker/containerd/containerd.toml

3.2 检查Docker版本

检查Docker版本

代码语言:bash
复制
root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585

3.3 检查docker compose 版本

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

代码语言:bash
复制
root@jeven01:~# docker compose version
Docker Compose version v2.19.1

四、下载MicroBin镜像

执行以下命令,拉取以下MicroBin镜像。

代码语言:bash
复制
root@jeven01:~# docker pull danielszabo99/microbin:latest
latest: Pulling from danielszabo99/microbin
5f1c2ac354fd: Pull complete
537fdabb8bfb: Pull complete
4f4fb700ef54: Pull complete
55a041d1e093: Pull complete
7244603c5244: Pull complete
2b725e797e49: Pull complete
Digest: sha256:c5bd4643135540a68a2846950fe4f65f3bcc94b62ed7c7644e563dfde6f1732c
Status: Downloaded newer image for danielszabo99/microbin:latest
docker.io/danielszabo99/microbin:latest

五、部署MicroBin应用

5.1 创建部署目录

  • 创建部署目录
代码语言:bash
复制
mkdir -p /data/microbin && cd /data/microbin

5.2 docker-cli方式部署(可选)

可使用以下docker-cli方式,快速部署MicroBin应用。

代码语言:bash
复制
docker run -d \
   --restart always  \
   --name microbin \
   -p 6300:8080 \
   -v /data/microbin/data:/app/microbin_data \
   -e MICROBIN_ADMIN_USERNAME=jeven \
   -e MICROBIN_ADMIN_PASSWORD=admin  \
   -e MICROBIN_ENABLE_BURN_AFTER=true \
   danielszabo99/microbin:latest

5.3 编辑部署文件

本次实践使用docker compose方式部署,在部署目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。

代码语言:bash
复制
vim docker-compose.yaml
代码语言:yaml
复制
version: '3'

services:
  microbin:
    image: danielszabo99/microbin:latest
    container_name: microbin
    restart: always
    ports:
     - "6300:8080"
    volumes:
     - /data/microbin/data:/app/microbin_data
    environment:
      MICROBIN_ADMIN_USERNAME: jeven
      MICROBIN_ADMIN_PASSWORD: admin
      MICROBIN_ENABLE_BURN_AFTER: "true"




     

5.4 创建MicroBin容器

执行以下命令,创建MicroBin容器。

代码语言:bash
复制
root@jeven01:/data/microbin# docker compose up -d
[+] Running 2/2
 ✔ Network microbin_default  Created                                                                                0.1s
 ✔ Container microbin        Started                                                                                0.3s

5.5 查看MicroBin容器状态

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

代码语言:bash
复制
root@jeven01:/data/microbin# docker compose ps
NAME                IMAGE                           COMMAND             SERVICE             CREATED             STATUS           PORTS
microbin            danielszabo99/microbin:latest   "microbin"          microbin            21 seconds ago      Up 21 seconds       0.0.0.0:6300->8080/tcp, :::6300->8080/tcp

5.6 检查MicroBin容器日志

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

代码语言:bash
复制
root@jeven01:/data/microbin# docker compose logs
microbin  | 2024-11-26T06:48:55 [INFO] - MicroBin starting on http://0.0.0.0:8080
microbin  | 2024-11-26T06:48:55 [INFO] - Starting 1 workers
microbin  | 2024-11-26T06:48:55 [INFO] - Actix runtime found; starting in Actix runtime

六、访问MicroBin服务

访问地址:http://192.168.3.88:6300,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。

七、MicroBin的基本使用

7.1 登录管理后台

访问地址:http://192.168.3.88:6300/admin,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。输入我们之前自定义设置的登录账号密码,可登录MicroBin的管理后台页面。

7.2 粘贴测试代码内容

在MicroBin主页中,粘贴测试代码,保存即可。

7.3 复制分享链接

保存粘贴框内的内容后,我们复制浏览器的链接。

在其余电脑打开分享链接,可以看到正常看到粘贴的内容。

八、总结

通过使用 Docker 部署 MicroBin 粘贴应用程序,深刻体会到其便捷性与高效性。部署过程虽有挑战,但成功后,MicroBin 丰富的功能令人惊喜,无论是文件分享还是加密处理都表现出色。其高度可配置性为个性化使用提供可能,在实际应用中展现出良好的实用性与稳定性,是一款值得推荐的自托管粘贴应用解决方案。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、 MicroBin介绍
    • 1.1 MicroBin简介
    • 1.2 主要特点
  • 二、本次实践规划
    • 2.1 本地环境规划
    • 2.2 本次实践介绍
  • 三、本地环境检查
    • 3.1 检查Docker服务状态
    • 3.2 检查Docker版本
    • 3.3 检查docker compose 版本
  • 四、下载MicroBin镜像
  • 五、部署MicroBin应用
    • 5.1 创建部署目录
    • 5.2 docker-cli方式部署(可选)
    • 5.3 编辑部署文件
    • 5.4 创建MicroBin容器
    • 5.5 查看MicroBin容器状态
    • 5.6 检查MicroBin容器日志
  • 六、访问MicroBin服务
  • 七、MicroBin的基本使用
    • 7.1 登录管理后台
    • 7.2 粘贴测试代码内容
    • 7.3 复制分享链接
  • 八、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档