当前位置: 首页 > news >正文

本地化JSON 处理新方案:基于 Docker的JSON Hero部署全记录

【本地化JSON 处理新方案:基于 Docker的JSON Hero部署全记录

  • 一、JSON Hero介绍
    • 1.1 JSON Hero工具简介
    • 1.2 JSON Hero工具特点
    • 1.3 主要使用场景
  • 二、本次实践规划
    • 2.1 本地环境规划
    • 2.2 本次实践介绍
  • 三、本地环境检查
    • 3.1 检查Docker服务状态
    • 3.2 检查Docker版本
    • 3.3 检查docker compose 版本
  • 四、下载JSON Hero镜像
  • 五、部署JSON Hero应用
    • 5.1 创建部署目录
    • 5.2 编辑部署文件
    • 5.3 创建JSON Hero容器
    • 5.4 查看JSON Hero容器状态
    • 5.5 查看JSON Hero容器日志
  • 六、访问JSON Hero服务
    • 6.1 访问JSON Hero主页
    • 6.2 上传json文件
  • 七、总结

一、JSON Hero介绍

1.1 JSON Hero工具简介

JSON Hero是由 Trigger.dev 团队开发和维护的一款强大的 JSON 查看和编辑工具,提供了一个美观且功能丰富的用户界面。

1.2 JSON Hero工具特点

  • 多种视图模式:支持列视图、树视图、编辑视图等多种视图模式,满足不同需求。
  • 智能预览:自动推断字符串内容并提供有用的预览,增强数据理解。
  • 生成 JSON 模式:自动生成 JSON 模式,用于验证 JSON 数据的结构。
  • 快速扫描:快速扫描相关值,检查边缘情况,确保数据一致性。
  • 强大搜索:支持对 JSON 文件中的键和值进行搜索,方便定位信息。
  • 键盘导航:完全支持键盘操作,提高使用效率。
  • 分享功能:提供带有路径支持的可共享 URL,方便团队协作。

1.3 主要使用场景

  • 开发调试:开发人员可以轻松查看和调试 API 响应,确保数据格式正确。
  • 数据验证:自动生成的 JSON 模式帮助验证数据的合法性和结构。
  • 团队协作:团队成员通过共享 URL 协作查看和编辑 JSON 文件,提高效率。
  • 数据分析:快速查找和分析 JSON 数据中的特定信息,适用于大数据集。

二、本次实践规划

2.1 本地环境规划

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

hostnameIP地址操作系统版本Docker版本镜像版本
jeven01192.168.3.88Ubuntu 22.04.1 LTS27.1.1latest

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署JSON可视化管理工具JSON Hero。

三、本地环境检查

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 Mon2024-09-0910:43:35 CST;3weeks5days ago Docs: https://docs.docker.com Main PID:695(dockerd)Tasks:135(limit:9387)Memory:4.0G CPU: 46min46.854s CGroup: /system.slice/docker.service ├─695/usr/bin/dockerd ├─846containerd--config/var/run/docker/containerd/containerd.toml

3.2 检查Docker版本

检查Docker版本

root@jeven01:~# docker -vDocker version27.1.1, build6312585

3.3 检查docker compose 版本

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

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

四、下载JSON Hero镜像

拉取JSON Hero镜像,镜像名称为:henryclw/jsonhero-web:latest

root@jeven01:~# docker pull henryclw/jsonhero-web:latestlatest: Pulling from henryclw/jsonhero-web Digest: sha256:1e514ed9fd9bd0efd42ff21c85c9aa2cca6c6f8ad7f76eac6ca39732b41dab21 Status: Image is up todateforhenryclw/jsonhero-web:latest docker.io/henryclw/jsonhero-web:latest

五、部署JSON Hero应用

5.1 创建部署目录

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

5.2 编辑部署文件

  • 如果使用docker-cli部署,可参考以下命令:
dockerrun-d\--restartalways\--namejsonhero-web\-p9500:8787\henryclw/jsonhero-web:latest

在`部署目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。

vimdocker-compose.yaml
version:'3'services:jsonhero-web:image:henryclw/jsonhero-web:latestcontainer_name:jsonhero-webrestart:alwaysports:-9500:8787

5.3 创建JSON Hero容器

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

root@jeven01:/data/json_hero# vim docker-compose.yamlroot@jeven01:/data/json_hero# docker compose up -d[+]Running2/2 ✔ Network json_hero_default Created0.1s ✔ Container jsonhero-web Started0.3s

5.4 查看JSON Hero容器状态

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

root@jeven01:/data/json_hero# docker compose psNAME IMAGE COMMAND SERVICE CREATED STATUS PORTS jsonhero-web henryclw/jsonhero-web:latest"npm start"jsonhero-web4minutes ago Up4minutes0.0.0.0:9500->8787/tcp, :::9500->8787/tcp

5.5 查看JSON Hero容器日志

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

dockercompose logs

六、访问JSON Hero服务

6.1 访问JSON Hero主页

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

6.2 上传json文件

我们使用一个本地的测试json文件是,上传到JSON Hero。

{"person":{"name":"张三","age":30,"email":"zhangsan@example.com","address":{"street":"幸福路123号","city":"北京","country":"中国"},"hobbies":["阅读","编程","旅行"],"is_student":false}}

七、总结

在使用 Docker 部署 JSON 可视化管理工具 JSON Hero 的过程中,Docker 的简便性和高效性得到了充分体现。通过 Dockerfile 和简单的命令,能够迅速搭建和运行 JSON Hero,大幅简化了环境配置和依赖管理。JSON Hero 的用户界面友好,多种视图模式和智能预览功能使得 JSON 数据的查看和编辑变得直观高效。这次实践不仅展示了 Docker 的强大能力,也突显了 JSON Hero 的实用性和易用性。

http://www.jsqmd.com/news/447013/

相关文章:

  • Pux Mux类深度解析:掌握路由定义与分发核心机制
  • STM32——DMA(十四) - 指南
  • 如何为xh HTTP请求工具开发自定义功能:完整插件开发指南
  • 如何优雅处理Vuelidate异步验证:从API请求到数据验证的完整指南
  • 基于Docker的Kafka服务
  • 从0到1:使用Job Iteration重构长时运行的Rails后台任务
  • 基于物品的协同过滤算法简单实战应用
  • 南大通用数据库安装使用教程(GBase8s)
  • android-ndk-rs未来展望:新特性与社区发展路线图
  • 10个火宝短剧实用技巧:提升AI短剧制作效率的终极指南
  • 终极Cuttlefish邮件服务器常见问题解决方案:从安装到高级配置全指南
  • windows文件实时同步
  • Nano Stores在React Native中的终极应用指南:简单快速的状态管理解决方案
  • 突破Session隔离:GH-Injector-Library全方法通用绕过技巧
  • CSP-S 2024 提高级 第一轮(初赛) 完善程序(2)
  • 探索apm生态:发现10个改变Atom体验的精选插件
  • Git Quick Stats自动化部署终极指南:CI/CD流水线集成完整教程
  • 【linux】shell命令
  • 如何快速掌握DotNetCore微服务:从零开始的保险销售系统实战教程
  • 探索Veloren:如何体验这款开源像素RPG的无限魅力?
  • 如何用Vue和Vuex构建你的第一个俄罗斯方块游戏:完整指南
  • Lovefield跨浏览器兼容性终极指南:Chrome、Firefox、IE的完整解决方案
  • 如何使用Git Quick Stats实现高效仓库统计监控与自动化告警
  • Lovefield终极性能调优指南:10个技巧让你的Web数据库运行更快
  • 7步完美贡献StyleGAN3:官方PyTorch实现的高质量PR提交指南
  • 终极指南:5步开发prettier-plugin-tailwindcss自定义解析器
  • JS Confetti核心API解析:掌握addConfetti与位置控制
  • StyleGAN3终极指南:如何彻底消除生成图像伪影的完整技术解析
  • Flux v1与Kustomize集成:多环境配置管理的终极指南
  • 如何快速掌握Mogenerator:iOS/Mac开发必备的Core Data代码生成工具