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

自托管 Grist 关系电子表格,Docker 容器部署全过程记录

【Docker项目实战】使用Docker部署Grist关系型电子表格工具

  • 一、Grist介绍
    • 1.1 Grist简介
    • 1.2 主要特点
  • 二、本次实践规划
    • 2.1 本地环境规划
    • 2.2 本次实践介绍
  • 三、本地环境检查
    • 3.1 检查Docker服务状态
    • 3.2 检查Docker版本
    • 3.3 检查docker compose 版本
  • 四、下载Grist镜像
  • 五、部署Grist应用
    • 5.1 创建部署目录
    • 5.2 docker-cli部署(可选)
    • 5.3 编辑部署文件
    • 5.4 创建Grist容器
    • 5.5 查看Grist容器状态
    • 5.6 检查Grist容器日志
  • 六、访问Grist服务
    • 6.1 访问Grist初始页
    • 6.2 设置系统语言
  • 七、总结

一、Grist介绍

1.1 Grist简介

Grist是一款创新的数据管理工具,它将电子表格的直观易用性与数据库的强大功能相结合,为用户提供了创建和管理复杂数据集的能力。它允许个人和团队以一种既灵活又结构化的方式组织信息,而无需编写代码或具备专业的数据库管理技能。Grist的设计旨在简化数据输入、管理和分析过程,使得即使是没有技术背景的用户也能够快速上手并高效地处理数据。

1.2 主要特点

  1. 关系型电子表格

    • 用户可以在不同的表之间建立关联,就像在传统数据库中一样,但操作起来却如同使用普通电子表格那样简单直接。
  2. 无需编程

    • Grist内置了丰富的功能,让用户可以通过点击和简单的配置来完成任务,而不需要任何编程知识。
  3. 实时协作

    • 支持多用户同时在线编辑同一个文档,所有更改都会即时同步给其他参与者,提高了团队合作效率。
  4. 强大的数据可视化

    • 提供了多种图表类型(如柱状图、折线图等)以及过滤器等功能,帮助用户更好地理解和展示数据。
  5. 模板库

    • 内置了多种行业专用模板,例如项目管理、库存跟踪、客户关系管理等,方便用户快速启动新项目。
  6. API接口

    • 对于更高级的需求,Grist还提供了REST API接口,允许开发者集成外部服务或者自动化工作流程。
  7. 移动端支持

    • 为了满足随时随地访问数据的需求,Grist同样适用于移动设备,确保您可以随时更新和查看重要信息。
  8. 安全性和权限控制

    • 提供了详细的权限设置选项,可以针对不同用户或团队成员设定读写权限,保护敏感数据的安全。

二、本次实践规划

2.1 本地环境规划

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

hostname内网 IP地址操作系统版本Docker版本项目名称
jeven192.168.3.251Ubuntu 22.04.1 LTS24.0.7Grist

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Grist关系型电子表格工具。

三、本地环境检查

3.1 检查Docker服务状态

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

root@jeven:~# systemctl status docker● docker.service - Docker Application Container Engine Loaded: loaded(/lib/systemd/system/docker.service;enabled;vendor preset: enabled)Active: active(running)since Wed2025-01-15 03:27:21 UTC;2days ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID:251204(dockerd)Tasks:24Memory:1.9G CPU: 4min22.839s CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

root@jeven:~# docker -vDocker version24.0.7, build24.0.7-0ubuntu2~22.04.1

3.3 检查docker compose 版本

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

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

四、下载Grist镜像

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

root@jeven:~# docker pull registry.cn-hangzhou.aliyuncs.com/jeson/grist:latestlatest: Pulling from jeson/grist Digest: sha256:0c13e3604b3ae2bf658c6a63be26b20f0f1757f4b4e793d0f74641426367a5dd Status: Image is up todateforregistry.cn-hangzhou.aliyuncs.com/jeson/grist:latest registry.cn-hangzhou.aliyuncs.com/jeson/grist:latest

五、部署Grist应用

5.1 创建部署目录

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

5.2 docker-cli部署(可选)

如果不想使用docker compose方式部署,可以使用docker-cli方式部署,参考如下:

dockerrun-d\--restartalways\--namegrist\-p8484:8484\-v$(pwd):/persist\registry.cn-hangzhou.aliyuncs.com/jeson/grist:latest

5.3 编辑部署文件

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

vimdocker-compose.yaml
version:'3.9'services:grist:image:registry.cn-hangzhou.aliyuncs.com/jeson/grist:latestvolumes:-'/data/grist/data:/persist'ports:-'8484:8484'container_name:gristrestart:always

5.4 创建Grist容器

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

root@jeven:/data/grist# docker compose up -d[+]Running2/2 ✔ Network grist_default Created0.1s ✔ Container grist Started0.3s

5.5 查看Grist容器状态

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

root@jeven:/data/grist# docker compose psNAME IMAGE COMMAND SERVICE CREATED STATUS PORTS grist registry.cn-hangzhou.aliyuncs.com/jeson/grist:latest"./sandbox/docker_en…"grist About a minute ago Up About a minute0.0.0.0:8484->8484/tcp, :::8484->8484/tcp

5.6 检查Grist容器日志

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

dockercompose logs

六、访问Grist服务

6.1 访问Grist初始页

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

6.2 设置系统语言

点击注册账号或登录选项时,会自动注册账号和自动登录。

在系统设置中,设置系统语言为简体中文。


  • 其余配置及功能参考:

官网文档:https://support.getgrist.com/self-managed/

七、总结

在本篇实战文章中,我们详细介绍了如何利用Docker部署Grist关系型电子表格工具,为用户搭建一个集直观易用性与强大数据库功能于一身的数据管理平台。通过Docker容器化技术,不仅简化了Grist的安装和配置过程,还确保了其可以在多种环境中轻松部署和运行,极大地提高了灵活性和可移植性。借助Grist,个人和团队能够以更加高效和结构化的方式组织、管理和分析数据,无需具备专业的编程或数据库管理技能。

http://www.cnnetsun.cn/news/3836129.html

相关文章:

  • YOLOv11改进 | 主干/Backbone篇 | 大核心卷积UniRepLknet目标检测网络(适配yolov11全系列轻量化)
  • config/cronotab.rb终极配置指南:掌握Rails定时任务调度语法
  • 如何快速掌握AKShare:面向金融数据获取的完整指南
  • GitHub Brasil Meetup完全指南:如何参与并从中获益
  • 3300 多起未成年人诉讼待处理,TikTok 等平台 10 月将迎标杆式审判
  • 从CET-6到雅思8.0,AI阅读训练路径全拆解,92%学员30天提升2.3个CEFR等级
  • 5大核心功能深度解析:鸣潮工具箱如何重塑你的游戏体验
  • 3个实用技巧解决AKShare金融数据接口难题:终极完整指南
  • Qt笔记:信号与槽+事件系统
  • Smithbox入门指南:零基础掌握魂系列游戏修改神器
  • YimMenu终极指南:3小时掌握GTA5最强辅助工具完整配置
  • 抖音下载神器:告别平台限制,永久保存你的数字记忆
  • 生成式设计新范式:基于扩散模型的渐变纹理参数化控制(支持Blender 4.2实时预览,含17个可微分控制节点)
  • 为什么易连EDI–EasyLink是国外EDI软件信创国产化替代的最佳选择?
  • 2026全域GEO运营软件推荐:Aionclaw在内主流AI工具综合测评与场景选型指南
  • 终极宽屏改造指南:让植物大战僵尸在现代显示器完美呈现
  • Qt5Compat.GraphicalEffects模块详解与UI特效实战
  • Figma中文界面终极指南:3种方法快速免费解锁完整中文版Figma
  • 免费硬件监控神器:LibreHardwareMonitor让电脑健康一目了然
  • UEViewer:高效提取Unreal Engine游戏资源的终极解决方案
  • kibana客户端工具操作ElasticSearch(增删改查三)
  • 5分钟快速上手:XUnity Auto Translator游戏翻译插件终极指南
  • 基于ARM+FPGA平台在精密测控领域的应用:ZYNQ高精度温振压多参融合采集系统
  • Hibernate急加载策略解析与性能优化
  • Java IO与NIO核心技术解析与性能优化实践
  • MPEG-4、H.264与MP4容器:解码mp4v、mp4a与avc1的核心差异
  • AI对齐失效的隐藏开关(附CVE-2024-XXXX验证POC):3类未披露薄弱点已致8起生产事故
  • LightPipes光学干涉仿真:原理、实现与工程应用
  • AI错题归因分析实战指南(精准定位知识断层的7类隐藏模式)
  • LangChain 一周速成学习计划