云原生之使用Docker部署Magma导航页

简介: 【5月更文挑战第19天】云原生之使用Docker部署Magma导航页

一、Magma导航页介绍

1.1 Magma导航页简介

Magma导航页是一款可高度定制、轻量级和响应性强的个人仪表板 。

1.2 Magma导航页特点

  • 简单、轻量级、快速
  • 多种语言
  • 多重主题
  • 可高度定制的

1.3 Magma使用场景

Magma导航页作为一款可高度定制、轻量级和响应性强的个人仪表板,适用于多种使用场景,旨在帮助用户高效地组织信息、管理日常任务和监控关键数据。以下是一些典型的应用场景:

  1. 个人日常管理:对于追求高效生活的个人用户,Magma导航页可以作为他们的数字中心,集成了日历、待办事项列表、天气预报、新闻订阅等功能,帮助用户一目了然地掌握日程安排、天气变化及最新资讯,有效规划每一天。

  2. 项目管理与团队协作:在团队工作环境中,Magma导航页能够定制集成项目管理工具(如Trello、Jira)、即时通讯应用(如Slack、钉钉)以及云文档服务(如Google Drive、Dropbox),使得团队成员能快速访问项目进度、讨论区和共享文件,促进团队协作与沟通。

  3. 数据分析监控:对于数据分析师或需要频繁监控业务指标的管理者,Magma允许集成各类数据分析平台(如Google Analytics、Tableau)和数据库查询工具,实现实时数据可视化,便于用户随时查看关键业绩指标(KPIs),及时做出决策。

  4. 开发人员工作台:开发者可以利用Magma导航页整合GitHub、GitLab等代码托管平台,以及Docker、Jenkins等持续集成/持续部署(CI/CD)工具,方便代码管理和项目部署流程监控,提高开发效率。

  5. 学习与教育资源整合:学生和教育工作者可以将Magma配置为学习资源中心,集成在线课程平台(如Coursera、edX)、电子书库、语言学习应用等,方便跟踪学习进度和获取新知识。

  6. 健康与健身追踪:结合健康管理应用(如Fitbit、MyFitnessPal),Magma可以帮助用户集中查看运动记录、饮食日记和睡眠分析,鼓励健康生活方式,实现个人健康目标。

  7. 财务管理:通过集成个人财务应用(如Mint、YNAB)和投资追踪工具,Magma使用户能够轻松监控个人财务状况、预算执行情况和投资表现,辅助做出更明智的财务决策。

1.4 Docker介绍

Docker是一个开源的应用容器平台,可以运行应用程序和服务。Docker可以将应用程序和依赖项打包到一个容器中,并在任何地方运行,从而实现应用程序的跨平台和可移植性。它是通过创建轻量容器来实现的,这些容器可以在任何环境中运行,无需进行修改或额外的配置。Docker以其速度、可移植性和易用性而受到广泛的欢迎,被广泛用于开发、测试和部署应用程序。它还与各种工具和技术集成,使其成为开发和运维的首选工具之一。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname IP地址 操作系统版本 Docker版本
jeven 192.168.3.166 centos 7.6 20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎使用;
2.在Docker环境下部署Magma导航页。

三、本地环境检查

3.1 检查Docker服务状态

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

[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2023-07-11 20:05:39 CST; 2 weeks 0 days ago
     Docs: https://docs.docker.com
 Main PID: 9572 (dockerd)
    Tasks: 51
   Memory: 2.8G
   CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

[root@jeven ~]# docker version
Client: Docker Engine - Community
 Version:           20.10.17
 API version:       1.41
 Go version:        go1.17.11
 Git commit:        100c701
 Built:             Mon Jun  6 23:05:12 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.17
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.17.11
  Git commit:       a89b842
  Built:            Mon Jun  6 23:03:33 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.6
  GitCommit:        10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
 runc:
  Version:          1.1.2
  GitCommit:        v1.1.2-0-ga916309
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

3.3 检查docker compose 版本

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

[[root@jeven ~]# docker compose version
Docker Compose version v2.19.1

四、下载Magma镜像

在docker hub下载Magma镜像help14/magma:latest

docker pull help14/magma:latest

在这里插入图片描述

五、部署Magma导航页

5.1 创建挂载目录

创建挂载目录

[root@jeven ~]# mkdir -p /data/magma/data
[root@jeven ~]# cd /data/magma/

5.2 创建magma容器

使用docker run快速创建magma容器

docker run -d --name magma -p 8060:7001 -v /data/magma/data/:/app/data help14/magma

在这里插入图片描述

使用docker-compose.yaml文件部署

version: '3'
services:
  magma:
    image: help14/magma
    container_name: magma
    ports:
      - "8060:7001"
    volumes:
      - /data/magma/data/:/app/data
    restart: always
docker compose up -d   #创建magma容器

5.3 检查容器状态

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

[root@jeven magma]# docker ps
CONTAINER ID   IMAGE                           COMMAND                  CREATED          STATUS                  PORTS            NAMES
b844a7304dfd   help14/magma                    "/bin/sh -c ./magma"     14 seconds ago   Up 12 seconds           0.0.0.0:8060->7001/tcp, :::8060->7001/tcp         magma

六、访问Magma导航页

访问地址:http://192.168.3.166:8060/
将IP地址改为自己服务器的IP地址。

在这里插入图片描述

七、添加网址

7.1 修改data.yaml文件

在挂载目录/data/magma/data下,修改data.yaml文件。

[root@jeven data]# pwd
/data/magma/data
[root@jeven data]# ls
assets  config.yaml  css  data.yaml  fonts  icon  js
[root@jeven data]# cat data.yaml
data:
  - title: Applications
    columns:
      - title: Servers
        bookmarks:
          - name: OpenWRT
            icon: fa-solid fa-wifi
            url: https://openwrt.org
          - name: Proxmox
            icon: https://iconape.com/wp-content/files/pk/18549/svg/cib-proxmox.svg
            url: https://www.proxmox.com/en/
          - name: Home Assistant
            icon: fa-solid fa-house
            url: https://www.home-assistant.io
          - name: Docker
            icon: fa-brands fa-docker
            url: https://www.docker.com
      - title: Nas
        bookmarks:
          - name: TrueNas
            icon: fa-solid fa-server
            url: https://www.truenas.com
          - name: Kerberos
            icon: fa-solid fa-video
            url: https://kerberos.io
          - name: jDownloader
            icon: fa-solid fa-cloud-arrow-down
            url: https://jdownloader.org
      - title: Monitoring
        bookmarks:
          - name: Grafana
            icon: https://iconape.com/wp-content/files/sn/17615/svg/cib-grafana.svg
            url: https://grafana.com
          - name: InfluxDb
            icon: fa-solid fa-database
            url: https://www.influxdata.com
      - title: Tools
        bookmarks:
          - name: Bitwarden
            icon: fa-solid fa-shield-halved
            url: https://bitwarden.com
  - title: Bookmarks
    columns:
      - title: Social Media
        bookmarks:
          - name: Facebook
            icon: fa-brands fa-facebook
            url: https://www.facebook.com
          - name: Reddit
            icon: fa-brands fa-reddit
            url: https://www.reddit.com
          - name: Youtube
            icon: fa-brands fa-youtube
            url: https://www.youtube.com
      - title: Shopping
        bookmarks:
          - name: Shopee
            icon: fa-solid fa-bag-shopping
            url: https://shopee.vn
          - name: Lazada
            icon: fa-brands fa-amazon
            url: https://www.amazon.com
      - title: Tools
        bookmarks:
          - name: Maps
            icon: fa-solid fa-map
            url: https://www.google.com/maps
      - title: 我的网站
        bookmarks:
          - name: 百度云
            icon: fa-solid fa-map
            url: https://www.baidu.com

在这里插入图片描述

7.2 重启magma容器

重启magma容器

 docker restart magma

7.3 重新访问Magma导航页

重新访问Magma导航页,发现自定义网站已成功添加。

在这里插入图片描述

7.4 打开自定义网址

打开刚添加的自定义网址,看是否可以正常打开。

在这里插入图片描述

八、总结

Magma导航页作为一款强大且灵活的个人仪表板工具,通过其高度可定制特性,让用户能够自由整合各种日常应用和服务,无论是管理日程、监控工作进度,还是追踪健康数据、优化财务规划,都能在单一界面下轻松完成。加之轻量级设计确保了快速加载与流畅体验,而响应式布局则让信息访问在不同设备间无缝衔接,无论在家、办公室还是旅途中,Magma都成为提升生活与工作效率的理想伴侣。

相关文章
|
5天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
22 2
|
3天前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
6天前
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
54 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
|
17天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
56 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
7天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
7天前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
17 1
|
16天前
|
监控 Cloud Native 持续交付
云原生技术深度解析:重塑现代应用开发与部署范式####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在现代软件开发中的重要性。通过剖析容器化、微服务架构、持续集成/持续部署(CI/CD)等关键技术,本文旨在揭示云原生技术如何促进应用的敏捷性、可扩展性和高可用性,进而推动企业数字化转型进程。不同于传统摘要仅概述内容要点,本部分将融入具体案例分析,直观展示云原生技术在实际应用中的显著成效与挑战应对策略,为读者提供更加丰富、立体的理解视角。 ####
|
19天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
46 2
|
20天前
|
Kubernetes Cloud Native 开发者
云原生技术入门:Kubernetes和Docker的协作之旅
【10月更文挑战第22天】在数字化转型的浪潮中,云原生技术成为推动企业创新的重要力量。本文旨在通过浅显易懂的语言,引领读者步入云原生的世界,着重介绍Kubernetes和Docker如何携手打造弹性、可扩展的云环境。我们将从基础概念入手,逐步深入到它们在实际场景中的应用,以及如何简化部署和管理过程。文章不仅为初学者提供入门指南,还为有一定基础的开发者提供实践参考,共同探索云原生技术的无限可能。
31 3
|
20天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
29 3