保姆级教程:使用Docker Compose轻松搭建ExerciseDiary健身日历

简介: 保姆级教程:使用Docker Compose轻松搭建ExerciseDiary健身日历

一、ExerciseDiary介绍

1.1 ExerciseDiary简介

ExerciseDiary是一款专为健身爱好者设计的应用程序,它借鉴了GitHub上流行的年度贡献可视化图表的概念,帮助用户追踪并记录他们的锻炼历程。通过将用户的锻炼数据以类似GitHub贡献图的方式展示出来,ExerciseDiary不仅提供了直观的数据统计,还能激发用户持续锻炼的动力,让他们看到自己的进步和成就。

1.2 使用场景

  • 日常锻炼记录:用户可以在每次锻炼后记录自己的活动类型(如跑步、举重等)、时长和强度,并在应用中查看当天的完成情况。
  • 长期趋势分析:通过查看过去一年甚至多年的锻炼记录,用户可以了解自己的健身习惯是如何变化的,从而调整训练计划以达到更好的效果。
  • 社交分享:用户可以选择将自己的锻炼成果分享到社交媒体上,激励他人也加入健身行列。
  • 目标设定与跟踪:用户可以设定短期和长期的健身目标,并通过ExerciseDiary来跟踪进度。例如,设定每周至少三次锻炼的目标,然后观察图表上的表现来确保达成目标。
  • 健康挑战:参与健康挑战或与朋友竞争,通过ExerciseDiary来记录和比较各自的进展,增加健身的乐趣。

二、本地环境介绍

2.1 本地环境规划

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

hostname IP地址 操作系统版本 Docker版本
jeven01 192.168.3.88 Ubuntu 22.04.1 LTS 27.1.1

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.使用Docker部署ExerciseDiary锻炼日记工具。

三、本地环境检查

3.1 检查Docker服务状态

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

root@ubuntu-001:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2024-08-20 15:04:07 UTC; 4s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 21958 (dockerd)
      Tasks: 10
     Memory: 24.7M
        CPU: 231ms
     CGroup: /system.slice/docker.service
             └─21958 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 检查Docker版本

检查Docker版本,Docker版本为27.1.1。

root@jeven01:/data/poapoa/paopao-ce# docker -v
Docker version 27.1.1, build 6312585

3.3 检查docker compose 版本

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

root@jeven01:/data/poapoa/paopao-ce# docker compose version
Docker Compose version v2.19.1

四、拉取镜像

在docker hub拉取ExerciseDiary镜像,镜像名为aceberg/exercisediary:latest

root@jeven01:~# docker pull aceberg/exercisediary
Using default tag: latest
latest: Pulling from aceberg/exercisediary
9c3723f76926: Pull complete
cdce16069f69: Pull complete
9496f947fcb0: Pull complete
Digest: sha256:1845e7ac3229a581a10461b07e653e56ccd1cd39a6a404422f75309e24d31ef7
Status: Downloaded newer image for aceberg/exercisediary:latest
docker.io/aceberg/exercisediary:latest

五、部署ExerciseDiary应用

5.1 创建部署目录

创建部署目录/data/ExerciseDiary/

mkdir -p /data/ExerciseDiary/data  && cd /data/ExerciseDiary/

5.2 使用docker-cli部署(可选)

在终端命令行,我们可以使用docker-cli部署。

docker run -d \
   --restart always \
   --name exdiary \
   -p 9800:8851 \
   -v /data/ExerciseDiary/data:/data/ExerciseDiary \
   -e TZ=Asia/Shanghai \
  aceberg/exercisediary:latest

5.3 编辑docker-compose.yaml

新建及编辑docker-compose.yaml文件,内容如下:

vim docker-compose.yaml
version: '3'

services:
  exdiary:
    image: aceberg/exercisediary
    container_name: exdiary
    restart: always
    ports:
      - 9800:8851
    volumes:
      - /data/ExerciseDiary/data:/data/ExerciseDiary
    environment:
      - TZ=Asia/Shanghai

5.4 创建容器

使用docker compose部署ExerciseDiary项目

root@jeven01:/data/ExerciseDiary# docker compose up -d
[+] Running 2/2
 ✔ Network exercisediary_default  Created                                                                                                                                            0.1s
 ✔ Container exdiary              Started                                                                                                                                            0.6s

5.5 检查容器状态

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

root@jeven01:/data/ExerciseDiary# docker compose ps
NAME                IMAGE                   COMMAND             SERVICE             CREATED             STATUS              PORTS
exdiary             aceberg/exercisediary   "./ExerciseDiary"   exdiary             49 seconds ago      Up 48 seconds       0.0.0.0:9800->8851/tcp, :::9800->8851/tcp

5.6 检查容器日志

检查ExerciseDiary容器运行正常,确保ExerciseDiary服务正常。

docker compose logs

在这里插入图片描述

六、访问ExerciseDiary首页

访问地址:http://192.168.3.88:9800,将IP替换为自己服务器IP地址,进入到ExerciseDiary初始页。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。

在这里插入图片描述
在这里插入图片描述

七、总结

ExerciseDiary是一款融合了GitHub风格年度可视化的健身日记应用,它让用户能够轻松记录和追踪自己的锻炼历程。通过Docker快速部署的特点,用户可以迅速启动应用并开始记录锻炼数据,无需复杂的配置流程。这种直观的可视化图表不仅展现了用户的锻炼频率,还激发了持续锻炼的动力,ExerciseDiary是一款集实用性与激励性于一体的健身记录工具。

相关文章
|
1月前
|
开发者 C++ iOS开发
70B 大模型塞进 4GB 显存——AirLLM 这个层加载思路很有意思
AirLLM 是一款创新的轻量级大模型推理框架,无需量化/剪枝,仅凭4GB显存即可运行70B甚至2.8T参数模型。其核心是“按层动态加载+预取优化”,将显存压力从全模型降至单层,兼顾可行性与精度,让消费级GPU轻松跑起超大模型。
328 4
|
2月前
|
人工智能 弹性计算 API
【AI 尝鲜实验室】上新 | New API:一个入口打通全网大模型的统一网关
New API 是 QuantumNous 开源的大模型网关与 AI 资产管理系统(AGPL-3.0,GitHub 42k+ Stars),聚合 OpenAI、Claude、Qwen 等主流模型,提供统一 OpenAI 兼容接口、渠道分组、自动重试、额度管理及在线充值。本实验通过阿里云计算巢一键部署,几分钟即可搭建专属网关,支持团队令牌分发与国产模型无缝接入编程工具。
953 3
|
4月前
|
人工智能 弹性计算 机器人
Hermes Agent 怎么部署?阿里云三种一键部署方案全流程详解
Hermes Agent 是一款开源AI智能体框架,具备自进化、持久记忆与多模型兼容能力。阿里云推出轻量服务器、计算巢、无影云电脑三种一键部署方案,覆盖个人开发者、企业及移动办公用户,大幅降低部署门槛。
817 4
|
2月前
|
人工智能
Qwen3.8抢先体验!正式版即将发布并开源!
千问Qwen3.8即将开源,参数达2.4T,进化速度以“天”计,实力媲美Fable 5。预览版Qwen3.8-Max已上线阿里Token Plan等平台,限时优惠:日间Credits低至1折,夜间更优,个人/团队版月付仅35元起!
4383 148
|
5月前
|
人工智能 监控 Kubernetes
LoongCollector + ACS Agent Sandbox:构建 AI Agent 生产级运行平台
文章介绍了阿里云ACSAgentSandbox与LoongCollector协同构建的AIAgent生产级运行平台,通过沙箱隔离保障运行时安全,并以高性能、全链路可观测能力解决Agent行为不可预测和执行风险难题。
2780 87
|
1月前
|
搜索推荐 Java API
JUC并发编程入门:从线程状态到Lock锁,一文吃透生产者消费者
JUC并发编程是Java面试常考点。本文用学习笔记视角,理清线程状态、Lock与Synchronized的区别,手写生产者消费者并解决虚假唤醒。
122 2
JUC并发编程入门:从线程状态到Lock锁,一文吃透生产者消费者
|
1月前
|
网络协议 Linux
Linux系统之last命令的基本使用
Linux系统之last命令的基本使用
154 3
|
1月前
|
人工智能 缓存 自然语言处理
通义千问Qwen3.7-Max全解析:万亿MoE旗舰,35小时自主执行的全能智能体
Qwen3.7-Max是通义千问系列的新一代旗舰大模型,定位为智能体时代的通用基座,以万亿级MoE混合专家架构为核心,实现从“被动响应问答”到“主动执行复杂任务”的本质跃迁。它集成百万级超长上下文、原生全模态理解、顶尖代码生成、长程自主执行、全链路办公与生态协同六大核心能力,在全球权威基准测试中多项指标登顶,可稳定完成35小时连续自治任务、1158次工具调用,真正成为能独立完成全流程工程开发、深度分析与自动化办公的AI助手。本文从技术架构、核心能力、实战场景、API接入与成本优化等维度,全面拆解Qwen3.7-Max的功能与价值,附可直接运行的代码命令与配置示例。
421 2
|
2月前
|
Prometheus 监控 Ubuntu
Docker项目教程:使用Docker部署myspeed测速工具
Docker项目教程:使用Docker部署myspeed测速工具
756 2
Docker项目教程:使用Docker部署myspeed测速工具