如何使用Docker安装Spug并实现远程访问本地运维管理界面

文章目录

    • 前言
    • 1. Docker安装Spug
    • 2 . 本地访问测试
    • 3. Linux 安装cpolar
    • 4. 配置Spug公网访问地址
    • 5. 公网远程访问Spug管理界面
    • 6. 固定Spug公网地址

前言

Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。

本例演示搭建使用docker compose 方式安装Spug,并结合cpolar 内网穿透实现远程访问,按照官网文档,首先设备需要提前安装好docker 和 docker compose!

1. Docker安装Spug

创建docker-compose.yml 文件

vim docker-compose.yml 

i进入编辑模式,复制写入以下内容

version: "3.3"
services:
  db:
    image: mariadb:10.8.2
    container_name: spug-db
    restart: always
    command: --port 3306 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    volumes:
      - /data/spug/mysql:/var/lib/mysql
    environment:
      - MYSQL_DATABASE=spug
      - MYSQL_USER=spug
      - MYSQL_PASSWORD=spug.cc
      - MYSQL_ROOT_PASSWORD=spug.cc
  spug:
    image: openspug/spug-service
    container_name: spug
    privileged: true
    restart: always
    volumes:
      - /data/spug/service:/data/spug
      - /data/spug/repos:/data/repos
    ports:
      # 如果80端口被占用可替换为其他端口,例如: - "8000:80"
      - "80:80"
    environment:
      - MYSQL_DATABASE=spug
      - MYSQL_USER=spug
      - MYSQL_PASSWORD=spug.cc
      - MYSQL_HOST=db
      - MYSQL_PORT=3306
    depends_on:
      - db

然后启动容器进行安装

docker compose up -d

显示最后出现下面信息表示成功.会自动启动.后续操作,按照docker 对容器的操作来管理即可

image-20230913164933975

初始化登录管理员用户,以下操作会创建一个用户名为 admin 密码为 test123 的管理员账户,可自行替换管理员账户/密码。

docker exec spug init_spug admin test123

2 . 本地访问测试

上面我们安装好了,现在在Linux 浏览器访问80端口,或者外部浏览器局域网访问80端口,如无法访问,请关闭防火墙,浏览器输入本地地址,即可看到Spug登录界面,下面我们安装cpolar 实现远程访问

3. Linux 安装cpolar

上面我们成功安装了openGauss数据库,下面我们在Linux安装cpolar内网穿透工具,通过cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

4. 配置Spug公网访问地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个Spug的cpolar隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:80 (上面docker-compose.yml 配置文件设置的挂载端口)
  • 域名类型:免费选择随机域名
  • 地区:选择China vip

点击创建

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

5. 公网远程访问Spug管理界面

使用上面的https公网地址在任意设备的浏览器访问,即可成功看到我们Spug界面,这样一个公网地址且可以远程访问就创建好了.

输入上面初始化的用户名密码即可登陆成功

6. 固定Spug公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

保留成功后复制保留成功的二级子域名的名称

返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

最后,我们使用固定的公网地址访问Spug,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,新地址访问,可能需要重新登陆

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/349599.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PaddleOCR将自己训练的模型转换为openvino格式模型

1 训练模型 python train_steelseal_det.py2 checkpoints模型转换为inference 模型 加载配置文件ch_PP-OCRv4_det_student_steelseal.yml,从./output/ch_PP-OCRv4/best_model/目录下加载model模型,inference模型保存在./output/ch_PP-OCRv4/best_model…

Pandas ------ 向 Excel 文件中写入含有合并表头的数据

Pandas ------ 向 Excel 文件中写入含有合并表头的数据 推荐阅读引言正文 推荐阅读 Pandas ------ 向 Excel 文件中写入含有 multi-index 和 Multi-column 表头的数据 引言 这里给大家介绍一下如何向 Excel 中写入带有合并表头的数据。 正文 import pandas as pddf1 pd.D…

代码随想录 Leetcode226.翻转二叉树

题目: 代码(首刷看解析 2024年1月25日): class Solution { public:TreeNode* invertTree(TreeNode* root) {if(root nullptr) return root;swap(root->left,root->right);invertTree(root->left);invertTree(root->right);retu…

09.Elasticsearch应用(九)

Elasticsearch应用(九) 1.搜索结果处理包括什么 排序分页高亮返回指定字段 2.排序 介绍 Elasticsearch支持对搜索结果排序,默认是根据相关度算分来排序 支持排序的字段 keyword数值地理坐标日期类型 排序语法 GET /[索引名称]/_sear…

C# 使用AutoMapper实现类映射

写在前面 AutoMapper是一个用于.NET中简化类之间的映射的扩展库;可以在执行对象映射的过程,省去的繁琐转换代码,实现了对DTO的快速装配,有效的减少了代码量。 通过NuGet安装,AutoMapper, 由于本例用到了D…

Altair SimSolid常见问题解答 衡祖仿真

Q:SimSolid究竟有什么特别之处? A:Altair SimSolid是专为设计工程师开发的结构分析软件且非常有创新性。它消除了传统 FEA 中特别耗时和非常专业的两项庞大任务——几何结构简化和网格划分,是一场仿真变革。简而言之,…

再识C语言 DAY12 【再识函数(上)】

文章目录 前言一、函数是什么?二、自定义函数参数返回值void修饰函数的返回值和参数 函数不能嵌套定义形参和实参的区别return的用法补充if……else if……else……的用法 后面会讲解“函数调用,函数声明以及函数原型,块级变量,归…

响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例4-11 HTML5 表单验证

代码 <!doctype html> <html> <head> <meta charset"utf-8"> <title>HTML5 表单验证</title> </head><body> <form action"#" method"get" novalidate>请输入您的邮箱:<input type&q…

CNN卷积理解

1 卷积的步骤 1 过滤器&#xff08;卷积核&#xff09;&#xff08;Filter或Kernel&#xff09;&#xff1a; 卷积层使用一组可学习的过滤器来扫描输入数据&#xff08;通常是图像&#xff09;。每个过滤器都是一个小的窗口&#xff0c;包含一些权重&#xff0c;这些权重通过训…

DAY11_(简易版)VUEElement综合案例

目录 1 VUE1.1 概述1.1.1 Vue js文件下载 1.2 快速入门1.3 Vue 指令1.3.1 v-bind & v-model 指令1.3.2 v-on 指令1.3.3 条件判断指令1.3.4 v-for 指令 1.4 生命周期1.5 案例1.5.1 需求1.5.2 查询所有功能1.5.3 添加功能 2 Element2.0 element-ui js和css和字体图标下载2.1 …

简析:老隋分享的temu项目怎么做?是蓝海项目吗?

在跨境电商的热潮中&#xff0c;老隋分享的temu项目引起了广泛关注。这个项目究竟有何魅力?它是一个蓝海项目吗?本文将为你揭开temu项目的神秘面纱&#xff0c;并探讨其前景和潜在机会。 首先&#xff0c;我们来了解一下temu项目的基本情况 Temu是拼多多旗下的跨境电商平台&a…

架构篇25:高可用存储架构-双机架构

文章目录 主备复制主从复制双机切换主主复制小结存储高可用方案的本质都是通过将数据复制到多个存储设备,通过数据冗余的方式来实现高可用,其复杂性主要体现在如何应对复制延迟和中断导致的数据不一致问题。因此,对任何一个高可用存储方案,我们需要从以下几个方面去进行思考…

希尔排序-排序算法

前言 希尔排序固然很好&#xff0c;但是某些情况下&#xff0c;有很多缺点。例如下面这种情况&#xff1a; 9 之前的元素都已经有序&#xff0c;只有元素 1 和 2 的位置不对&#xff0c;使用插入排序几乎要移动整个数组的元素&#xff0c;效率很低。 这时候希尔排序横空出世&…

MySQL和Redis的事务有什么异同?

MySQL和Redis是两种不同类型的数据库管理系统&#xff0c;它们在事务处理方面有一些重要的异同点。 MySQL事务&#xff1a; ACID属性&#xff1a; MySQL是一个关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;支持ACID属性&#xff0c;即原子性&#xff08;Ato…

全球 IPv4 耗尽,下个月开始收费!

哈喽大家好&#xff0c;我是咸鱼 IPv4&#xff08;Internet Protocol version 4&#xff09;是互联网上使用最广泛的网络层协议之一&#xff0c;于1981年在 RFC 791 中发布&#xff0c;它定义了 32 位的IP地址结构和基本的协议操作。 由于 IPv4 使用 32 位的地址&#xff0c;…

深入了解Figure的结构与层次

深入了解Figure的结构与层次 一 Matplotlib中的Figure1.1 Figure的概念和作用:1.2.创建Figure对象:1.3 Figure的属性和方法: 二 子图&#xff08;Axes&#xff09;的角色与创建2.1 子图&#xff08;Axes&#xff09;的概念&#xff1a;2.2 创建子图的方法&#xff1a;2.3 Axes的…

灰度图像的自动阈值分割

第一种&#xff1a;Otsu &#xff08;大津法&#xff09; 一、基于cv2的API调用 1、代码实现 直接给出相关代码&#xff1a; import cv2 import matplotlib.pylab as pltpath r"D:\Desktop\00aa\1.png" img cv2.imread(path, 0)def main2():ret, thresh1 cv2.…

软件产品研发过程 - 三、详细设计

软件产品研发过程 - 三、详细设计 详细设计是在软件开发过程中&#xff0c;基于概要设计&#xff08;将功能按子功能进行拆分&#xff0c;画面跳转关系、UI原型、画面上所有功能点及每个功能点对应的业务流程&#xff09;&#xff0c;以程序开发的角度来设计概要设计中每个功能…

GRE实验

一&#xff1a;实验要求 1、本实验采用静态路由部署&#xff1b;ISP上不配置任何静态路由条目&#xff1b; 2、在R1、R3上部署GRE隧道&#xff0c;使得私网能够互通。 二&#xff1a;实验配置 r1 配置 ISP配置 r3配置 配置静态路由 建立GRE隧道 三&#xff1a;实验结果

微信会议活动微展示在线活动报名源码系统 带完整的搭建教程

随着微信的普及&#xff0c;微信会议活动已成为企业、团体和个人进行信息交流、业务推广和品牌宣传的重要平台。然而&#xff0c;如何高效地管理、展示和报名参加这些会议活动&#xff0c;一直是许多组织者面临的难题。下面&#xff0c;小编给大家分享一款微信会议活动微展示在…