【Docker项目实战】使用Docker部署OmniTools在线工具箱

举报
江湖有缘 发表于 2025/07/18 01:43:18 2025/07/18
【摘要】 【Docker项目实战】使用Docker部署OmniTools在线工具箱

一、OmniTools介绍

1.1 OmniTools简介

Omni-Tools 是一个自托管(self-hosted)的多功能网络工具集合,致力于为用户提供快速、安全、无广告、无追踪的实用工具。无论你是开发者、设计师、学生还是普通用户,都能在这里找到日常任务所需的高效工具。Omni-Tools 通过浏览器即可直接访问,无需安装任何软件,所有工具均基于网页运行,界面简洁直观,操作便捷。它非常适合用于图像处理、文本转换、时间计算、数学生成以及各种数据格式的操作。


1.2 主要功能模块

🖼️ 图像 / 视频 / 二进制工具

  • 图片调整器(Image Resizer):轻松调整图片尺寸。
  • 图片转换器(Image Converter):在不同图像格式之间进行转换。
  • 视频剪辑器(Video Trimmer):裁剪视频片段。
  • 视频倒放器(Video Reverser):将视频内容倒序播放。
  • 更多二进制处理工具持续更新中……

📜 字符串 / 列表工具

  • 大小写转换器(Case Converters):一键切换文本大小写。
  • 列表打乱器(List Shuffler):随机打乱列表顺序。
  • 文本格式化工具(Text Formatters):美化代码或文本结构。
  • 更多字符串处理功能即将上线……

📅 时间与日期工具

  • 日期计算器(Date Calculator):计算两个日期之间的天数差。
  • 时区转换器(Time Zone Converter):跨时区的时间转换。
  • 更多时间相关工具正在开发中……

➕ 数学工具

  • 质数生成器(Generate Prime Numbers):生成指定范围内的质数。
  • 完全数生成器(Generate Perfect Numbers):探索数学中的完美数字。
  • 更多数学辅助工具即将到来……

📄 杂项工具

  • JSON 工具集:格式化、压缩、验证 JSON 数据。
  • PDF 工具:合并、拆分、加密 PDF 文件。
  • CSV 工具:编辑、转换、分析 CSV 表格。
  • 还有更多实用工具不断加入……

二、本次实践规划

2.1 本地环境规划

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

hostname IP地址 操作系统版本 Docker版本 部署项目
jeven01 192.168.3.88 Ubuntu 22.04.1 LTS 27.1.1 OmniTools

2.2 本次实践介绍

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

2.3 注意事项

⚠️ 注意事项

  • 项目仍处于活跃开发阶段:Shoebox 目前仍在积极开发中,尚未达到生产环境的稳定性与安全性要求,功能和数据模型可能会发生变更。
  • 可能存在影响数据的风险:在使用过程中有可能出现导致媒体文件损坏或数据丢失的问题,请务必定期备份您的原始视频和关键数据。
  • 自行承担使用风险:建议仅在测试或个人环境中部署使用,不推荐用于重要生产场景或商业用途,除非你已充分了解并接受潜在风险。

三、本地环境检查

3.1 检查Docker服务状态

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

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 Wed 2025-06-11 12:57:12 UTC; 1 week 0 days ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 848 (dockerd)
      Tasks: 83
     Memory: 3.2G
        CPU: 29min 49.224s
     CGroup: /system.slice/docker.service
             ├─   848 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 检查Docker版本

检查Docker版本

root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585

3.3 检查docker compose 版本

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

root@jeven01:~# docker compose version
Docker Compose version v2.19.1

四、拉取OmniTools镜像

拉取OmniTools镜像,当前容器版本为0.4

root@jeven01:~# docker pull iib0011/omni-tools:0.4
0.4: Pulling from iib0011/omni-tools
f18232174bc9: Already exists
61ca4f733c80: Pull complete
b464cfdf2a63: Pull complete
d7e507024086: Pull complete
81bd8ed7ec67: Pull complete
197eb75867ef: Pull complete
34a64644b756: Pull complete
39c2ddfd6010: Pull complete
cb153cc28f36: Pull complete
Digest: sha256:566706f6cfaffac76dd6811456ab428bf79570f6ec43ffb46a15f50820760863
Status: Downloaded newer image for iib0011/omni-tools:0.4
docker.io/iib0011/omni-tools:0.4

五、部署OmniTools容器

5.1 创建部署目录

  • 创建部署目录
mkdir -p /data/omnitools &&  cd /data/omnitools

5.2 编辑部署文件

如果使用docker-cli方式部署,可参考以下官方示例:

docker run -d --name omni-tools --restart unless-stopped -p 8080:80 iib0011/omni-tools:latest

本次实践使用docker compose方式部署:我们在部署目录下,创建docker-compose.yaml文件,如下所示:

vim docker-compose.yaml
services:
  omni-tools:
    image: iib0011/omni-tools:0.4
    container_name: omni-tools
    restart: always
    ports:
      - "8280:80"




5.3 创建OmniTools容器

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

docker compose up -d

在这里插入图片描述

5.4 查看OmniTools容器状态

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

root@jeven01:/data/omnitools# docker compose ps
NAME         IMAGE                    COMMAND                  SERVICE      CREATED         STATUS         PORTS
omni-tools   iib0011/omni-tools:0.4   "/docker-entrypoint.…"   omni-tools   3 minutes ago   Up 3 minutes   0.0.0.0:8280->80/tcp, [::]:8280->80/tcp

5.5 查看OmniTools容器日志

检查OmniTools容器日志,确保OmniTools服务正常启动。

docker compose logs

在这里插入图片描述

六、访问OmniTools服务

浏览器地址: http://<个人的服务器IP>:8280,访问OmniTools的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

在这里插入图片描述

七、OmniTools基本使用

7.1 功能概览

🧰 Omni-Tools 功能模块概览

类别 描述 主要功能
PNG 工具 用于处理 PNG 图像的专业工具集合 - 将 PNG 转换为 JPG
- 创建透明 PNG
- 修改图像颜色
- 裁剪、旋转、调整尺寸等
文本工具 提供多种文本操作与转换功能 - 文本转图像
- 查找与替换内容
- 分割与合并文本行
- 文本重复生成等
JSON 工具 针对 JSON 数据结构进行格式化、分析和转换的实用工具 - 美化(格式化)JSON
- 压缩 JSON
- 扁平化数组
- 字符串化值
- 数据分析等
列表工具 用于管理与操作列表数据的多功能工具 - 排序、反转、打乱列表
- 查找唯一项与重复项
- 更改列表分隔符等
GIF 工具 处理 GIF 动画文件的强大工具集 - 创建透明 GIF
- 提取帧信息
- 添加文字到 GIF
- 裁剪、旋转、倒放动画等
数字工具 提供数字生成、转换与分析的功能 - 生成数字序列
- 数字与文字互转
- 数字排序、四舍五入、因式分解等

7.2 Json美化功能

将 JSON 数据粘贴到输入框中,工具会自动为其添加缩进和换行以美化格式。你可以在选项中选择使用空格或制表符进行缩进,并可指定每级缩进的空格数。
在这里插入图片描述

7.3 时间工具

将输入的天数乘以24,即可快速转换为对应的小时数,支持整数和小数天数。该工具可同时处理多个天数转换,方便高效。

在这里插入图片描述

  • 其余功能可自行测试体验

八、总结

使用Docker部署OmniTools在线工具箱,可以快速搭建一个功能丰富的多功能在线工具平台。通过Docker容器化技术,实现了环境隔离和依赖管理,提升了部署的安全性与稳定性。整个部署过程简单高效,只需几条命令即可完成,大大降低了运维成本。实战中充分体现了Docker在现代应用部署中的强大优势和灵活性。


【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。