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

linux下使用Docker Compose部署Spug实现公网远程访问

📑前言

本文主要是linux下使用Docker Compose部署Spug实现公网远程访问的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是青衿🥇
☁️博客首页:CSDN主页放风讲故事
🌄每日一句:努力一点,优秀一点

在这里插入图片描述

目录

文章目录

  • 📑前言
  • **目录**
      • Spug介绍
      • 1. Docker安装Spug
      • 2 . 本地访问测试
      • 3. Linux 安装cpolar
      • 4. 配置Spug公网访问地址
      • 5. 公网远程访问Spug管理界面
      • 6. 固定Spug公网地址
  • 📑文章末尾


Spug介绍

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

特性:

批量执行: 主机命令在线批量执行
在线终端: 主机支持浏览器在线终端登录
文件管理: 主机文件在线上传下载
任务计划: 灵活的在线任务计划
发布部署: 支持自定义发布部署流程
配置中心: 支持KV、文本、json等格式的配置
监控中心: 支持站点、端口、进程、自定义等监控
报警中心: 支持短信、邮件、钉钉、微信等报警方式
优雅美观: 基于 Ant DesignUI界面
开源免费: 前后端代码完全开源

本例演示搭建使用docker compose 方式安装Spug,并结合cpolar
内网穿透实现远程访问,按照官网文档,首先设备需要提前安装好docker 和 docker compose!
安装方法:官方提供多种安装方法,譬如一键安装 手动安装 docker安装等多种模式

1. Docker安装Spug

创建docker-compose.yml 文件

`vim docker-compose.yml` 

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

`version: "3.3"
services:db:image: mariadb:10.8.2container_name: spug-dbrestart: alwayscommand: --port 3306 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_civolumes:- /data/spug/mysql:/var/lib/mysqlenvironment:- MYSQL_DATABASE=spug- MYSQL_USER=spug- MYSQL_PASSWORD=spug.cc- MYSQL_ROOT_PASSWORD=spug.ccspug:image: openspug/spug-servicecontainer_name: spugprivileged: truerestart: alwaysvolumes:- /data/spug/service:/data/spug- /data/spug/repos:/data/reposports:# 如果80端口被占用可替换为其他端口,例如: - "8000:80"- "80:80"environment:- MYSQL_DATABASE=spug- MYSQL_USER=spug- MYSQL_PASSWORD=spug.cc- MYSQL_HOST=db- MYSQL_PORT=3306depends_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,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,新地址访问,可能需要重新登陆

📑文章末尾

在这里插入图片描述

相关文章:

  • 短视频矩阵seo系统源码搭建----技术定制化开发
  • MySQL基础知识题目
  • 飞腾ARM UOS编译Qt 5.15.2源码及Qt Creator
  • Python高级语法----使用Python进行模式匹配与元组解包
  • Rust编程中的线程间通信
  • 行业洞察:分布式云如何助力媒体与娱乐业实现创新与增长?
  • 【PC】开发者日志:竞技比赛验证系统强化
  • 14. 机器学习——kNN
  • NOIP2023模拟16联测37 小猫吃火龙果
  • PHP7使用C++扩展开发
  • Java通过JNI技术调用C++动态链接库的helloword测试
  • 考研数学笔记:线性代数中抽象矩阵性质汇总
  • 33、Flink 的Table API 和 SQL 中的时区
  • 免root修改手机imei的技术原理是什么?如何实现的?hook吗
  • sam altman推荐的最好的AI工具
  • [译]Python中的类属性与实例属性的区别
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • CAP理论的例子讲解
  • docker-consul
  • Iterator 和 for...of 循环
  • Linux中的硬链接与软链接
  • MobX
  • mysql innodb 索引使用指南
  • Tornado学习笔记(1)
  • Transformer-XL: Unleashing the Potential of Attention Models
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 关于extract.autodesk.io的一些说明
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 记录一下第一次使用npm
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • MPAndroidChart 教程:Y轴 YAxis
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 国内开源镜像站点
  • ​queue --- 一个同步的队列类​
  • ​力扣解法汇总946-验证栈序列
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (4)(4.6) Triducer
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (rabbitmq的高级特性)消息可靠性
  • (二)PySpark3:SparkSQL编程
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (转)人的集合论——移山之道
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .htaccess配置常用技巧