【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在现代应用部署中的强大优势和灵活性。
- 点赞
- 收藏
- 关注作者
评论(0)