云原生之使用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都成为提升生活与工作效率的理想伴侣。

相关文章
|
8天前
|
JSON JavaScript 测试技术
【Docker项目实战】使用Docker部署PPTist在线演示文稿应用
【10月更文挑战第9天】使用Docker部署PPTist在线演示文稿应用
15 1
【Docker项目实战】使用Docker部署PPTist在线演示文稿应用
|
10天前
|
存储 前端开发 测试技术
【Docker项目实战】使用Docker部署Calcium网页计算器
【10月更文挑战第7天】使用Docker部署Calcium网页计算器
20 1
【Docker项目实战】使用Docker部署Calcium网页计算器
|
13天前
|
存储 测试技术 Linux
【Docker项目实战】使用Docker部署Radicale日历和联系人应用
【10月更文挑战第4天】使用Docker部署Radicale日历和联系人应用
53 2
【Docker项目实战】使用Docker部署Radicale日历和联系人应用
|
1天前
|
Kubernetes Cloud Native 开发者
探秘云原生计算:Kubernetes与Docker的协同进化
在这个快节奏的数字时代,云原生技术以其灵活性和可扩展性成为了开发者们的新宠。本文将带你深入了解Kubernetes和Docker如何共同塑造现代云计算的架构,以及它们如何帮助企业构建更加敏捷和高效的IT基础设施。
|
2天前
|
Kubernetes Cloud Native 持续交付
云原生技术:重塑现代应用开发与部署模式####
本文深入探讨了云原生技术的核心概念、发展历程及其在现代软件开发和部署中的关键作用。通过分析云原生架构的特点,如容器化、微服务、持续集成与持续部署(CI/CD),以及它如何促进应用的可伸缩性、灵活性和效率,本文旨在为读者提供一个关于云原生技术全面而深入的理解。此外,还将探讨实施云原生策略时面临的挑战及应对策略,帮助组织更好地把握数字化转型的机遇。 ####
|
7天前
|
Web App开发 前端开发 测试技术
【Docker项目实战】使用docker部署tabler后台模版
【10月更文挑战第10天】使用docker部署tabler后台模版
20 0
【Docker项目实战】使用docker部署tabler后台模版
|
8天前
|
Cloud Native 持续交付 云计算
云端新纪元:探索云原生技术的奥秘在当今数字化时代,云计算已成为推动企业创新和增长的关键动力。随着云平台的不断成熟,云原生技术应运而生,以其独特的优势引领着一场新的技术革命。本文将深入探讨云原生的核心概念、主要特点以及它如何改变现代软件开发和部署的方式,为您揭开云原生这一神秘面纱。
云原生是一种构建和运行应用程序的方法,充分利用了云平台的弹性、分布式本质以及声明式基础设施。本文将解析云原生的十二要素,微服务架构的优势,以及容器化、持续集成与持续部署(CI/CD)等核心技术的实践应用。通过深入浅出的方式,让读者理解云原生不仅是一种技术,更是一种文化和方法论,它正在重塑软件开发流程,提高资源利用率和应用系统的可扩展性与容错性。
|
9天前
|
安全 Cloud Native Shell
云上攻防:云原生篇&Docker容器逃逸
本文介绍了Docker的基本概念及其对渗透测试的影响,重点讲解了容器逃逸的方法。Docker是一种轻量级的容器技术,与虚拟机相比,具有更高的便携性和资源利用率。然而,这也带来了安全风险,特别是容器逃逸问题。文章详细描述了三种常见的容器逃逸方法:不安全的配置、相关程序漏洞和内核漏洞,并提供了具体的检测和利用方法。此外,还介绍了几种特定的漏洞(如CVE-2019-5736和CVE-2020-15257)及其复现步骤,帮助读者更好地理解和应对这些安全威胁。
云上攻防:云原生篇&Docker容器逃逸
|
9天前
|
消息中间件 编解码 Docker
【Docker项目实战】Docker部署RabbitMQ消息中间件
【10月更文挑战第8天】Docker部署RabbitMQ消息中间件
22 0
【Docker项目实战】Docker部署RabbitMQ消息中间件
|
3天前
|
运维 Kubernetes 监控
掌握Docker容器化技术:构建、部署与管理的高效实践
【10月更文挑战第14天】掌握Docker容器化技术:构建、部署与管理的高效实践
12 0