在 Linux 服务器上部署浏览器工具时,保留配置和固定 Compose 项目名有助于后续找到同一组容器。本文提供 OmniTools 参考配置,并以两条 JSON 数据转换成 CSV 作为一次功能检查;未在实际机器运行。
保存配置并启动
前提是部署机已有 Docker Engine 和 Compose v2。下面命令在部署机执行,后续维护也进入同一目录:
mkdir -p ~/omnitools && cd ~/omnitools
在该目录创建 compose.yaml:
services:
omni-tools:
image: docker.1ms.run/iib0011/omni-tools:0.7.0
ports:
- "127.0.0.1:8085:80"
restart: unless-stopped
先确认目录中的配置已保存,再执行;pull 失败时先处理报错,不进入启动步骤:
docker compose -p omnitools pull && docker compose -p omnitools up -d
docker compose -p omnitools ps
docker compose -p omnitools logs --tail=100
检查 ps 中服务是否为运行状态,日志是否有启动错误。
浏览器与 Docker 同机时,打开 http://127.0.0.1:8085。若应用部署在远端,在自己的电脑终端执行(替换 SSH 用户和服务器地址):
ssh -L 8085:127.0.0.1:8085 user@server
保持连接,在自己电脑的浏览器打开 http://127.0.0.1:8085。电脑的 8085 冲突时,将 SSH 命令改成 ssh -L 8086:127.0.0.1:8085 user@server,浏览器访问 http://127.0.0.1:8086,服务器配置保持原值。
下文工具地址都以电脑端口 8085 举例;如果电脑转发端口已改成 8086,请把后续工具 URL 的端口一并换成 8086,路径不变。
转换并保存文件
在电脑浏览器访问 http://127.0.0.1:8085/json/json-to-csv,进入 JSON to CSV。在 Input JSON 中填入自拟样例:
[{
"item":"desk","quantity":1},{
"item":"chair","quantity":2}]
输入后自动生成结果,保留默认逗号分隔和表头,在结果区点击 Download 下载 output-omni-tools.csv,或点击 Copy 复制。预期表头为 item,quantity,后面依次是 desk,1 和 chair,2。使用表格软件检查 item、quantity 两列,以及 desk/1、chair/2 两行。浏览器下载文件保存在浏览器所在的电脑,而不是自动保存在服务器项目目录;具体位置由浏览器下载设置决定。
停止与重建
在服务器的 ~/omnitools 中执行:
docker compose -p omnitools down
docker compose -p omnitools up -d
docker compose -p omnitools ps
重建后重新打开页面,再用上面的样例确认转换。保留 compose.yaml 和项目名 omnitools,可以明确后续命令操作的项目。配置未挂载数据卷,下载文件需自行保存在电脑上;重建容器不负责保存浏览器下载结果。
拉取失败先检查镜像地址和网络;启动失败可运行 docker compose -p omnitools logs --tail=100 查看原因。服务器的 8085 被占用时,可将 Compose 映射改为 127.0.0.1:8087:80,在项目目录执行 docker compose -p omnitools up -d 重建;远端访问的 SSH 命令同时改成 ssh -L 8085:127.0.0.1:8087 user@server,电脑浏览器仍访问本机 8085。远端打不开时检查 SSH 窗口是否仍连接,并确认浏览器访问的是电脑的转发端口。
界面偏好和工具书签在浏览器 localStorage 中;同一浏览器保留偏好不代表服务器备份了文件,换电脑也不会自动带来原浏览器的下载内容。项目说明称客户端处理,但 GIF 和部分影音工具需要外部依赖,本文未进行全功能断网测试。
后续更新可保留这次 compose.yaml 和两条 JSON 样例:改镜像标签后再拉取、重建,并在浏览器重新下载 CSV,核对同样两列和两条值。版本、项目名、下载文件分别记录,才能区分应用配置和日常处理结果。