使用docker compose部署netmaker打通内网

准备

我看官网推荐都是使用ssl然后要ssl证书,不想走弯路了

一、docker-compose.yml

version: "3.4"services:netmaker:container_name: netmakerimage: gravitl/netmaker:v0.90.0restart: unless-stoppedports:- "18081:18082"- "50051:50051"- "51821-51830:51821-51830/udp"volumes:- /usr/local/software/netmaker/data:/root/dataenvironment:- SERVER_HOST=域名:18082- API_HOST=域名:18082- API_PORT=18082- BROKER_ENDPOINT=mqtts://域名:8883- MASTER_KEY=KHcZC3whEX670G5JsFlR2V0Mr9nSgQSu- DATABASE=sqlite- DISPLAY_KEYS=true- TELEMETRY=off# 新增变量(基于参考配置)- SERVER_NAME=域名- SERVER_API_CONN_STRING=域名:18082- COREDNS_ADDR=域名:18082- SERVER_HTTP_HOST=域名:18082depends_on:mq:condition: service_startednetmaker-ui:container_name: netmaker-uiimage: gravitl/netmaker-ui:v0.90.0restart: unless-stoppedports:- "18080:80"environment:- BACKEND_URL=https://域名:18082depends_on:- netmakerlinks:- "netmaker:api"  # 确保UI能通过别名访问APImq:container_name: mosquittoimage: eclipse-mosquitto:2restart: unless-stoppedports:- "8883:8883"volumes:- /usr/local/software/netmaker/mosquitto/config:/mosquitto/config- /usr/local/software/netmaker/mosquitto/data:/mosquitto/data- /usr/local/software/netmaker/mosquitto/log:/mosquitto/log- /etc/letsencrypt:/etc/letsencryptcommand: mosquitto -c /mosquitto/config/mosquitto.conf

给挂载的路径要有读写路径

这里可以看到我们是把后端端口挂载在宿主机18001,需要使用nginx 使用ssl把18001端口隐射到18002

配置/usr/local/software/netmaker/mosquitto/config/mosquitto.conf

vim /usr/local/software/netmaker/mosquitto/config/mosquitto.conf
listener 8883
certfile /etc/letsencrypt/live/chaoyouwanjia.icu/fullchain.pem #你的域名ssl证书地址
keyfile /etc/letsencrypt/live/chaoyouwanjia.icu/privkey.pem #你的域名ssl证书地址
tls_version tlsv1.2
#password_file /mosquitto/config/passwd
#require_certificate false 
#use_identity_as_username false #listener 1883
allow_anonymous true

运行

docker compose up -d

运行成功

第一次登录需要注册管理员账号,后面就不用了
在这里插入图片描述

创建网络,然后根据提示把内网加入到网络就好

根据提示操作就好
在这里插入图片描述

在这里插入图片描述

如果其他两台没公网,需要使用中集成模式,才能互相打通

使用云服务器那个节点创建gatway,在把其他机器挂载到到这个网关上
在这里插入图片描述

重要一点,要使用官方文档,可以少走很多弯路,里面很多操作都写明白了

在这里插入图片描述

排错

journalctl -u netclient -f

客户端如果显示这个,就是成功了,要会查日志,不要傻傻的以为有内网ip就是成功了
在这里插入图片描述
查看分配的内网ip命令

ip addr show | grep -A 5 netmaker

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux集市采购指南[特殊字符]:yum和apt的“抢货”大战!

Linux集市采购指南🍅:yum和apt的“抢货”大战! ✨ 欢迎来到 Linux软件生态集市!这里分两大阵营: 🥬 CentOS/RHEL传统菜市场:派稳重的 yum 大叔当采购员,做事一板一眼;✨…

DataX 框架学习笔记

官方仓库: https://github.com/alibaba/DataX?tabreadme-ov-file 1. 介绍 1.1. 基本介绍: DadaX 是阿里云 DataWorks 数据集成 的开源版本(异构数据同步、离线数据同步工具 / 平台)。主要抽象为 Reader 和 Writer 插件&#…

MaxCompute的Logview分析详解

文章目录 一、Logview简介1、概述2、标题与功能3、基础信息 二、作业详情1、Job Details2、Fuxi Sensor3、Result①当前作业运行成功,显示的为运行结果。②当前作业运行失败,显示的为失败原因。 4、SourceXML5、SQL Script6、History7、SubStatusHistory…

HTML5白云飘飘动态效果教程

HTML5白云飘飘动态效果教程 这里写目录标题 HTML5白云飘飘动态效果教程效果介绍实现步骤步骤一:创建HTML结构步骤二:设计CSS样式步骤三:添加JavaScript交互 代码解析HTML结构解析CSS样式解析JavaScript功能解析 自定义调整总结 效果介绍 本教…

tcp高难度问题

以下是针对这些问题,在面试场景下,既保证理论扎实、逻辑清晰,又具备交流延展性的回答思路与内容,可根据实际面试节奏和面试官反馈灵活调整展开: 1. 客户端端口号如何确定的? 面试官您好,客户端…

广东省省考备考(第二十八天6.13)—资料分析(第二节课)

基期与现期 官方定义:作为对比参照的是基期,而相对于基期比较的是现期 通俗说法:时间靠前的为基期,时间靠后的为现期 增长量与增长率 增长量用来表述基期量与现期量变化的绝对量; 增长率用来表述基期量与现期量变化…

pytorch 中前向传播和后向传播的自定义函数

系列文章目录 文章目录 系列文章目录一、torch.autograd.function代码实例 在开始正文之前,请各位姥爷动动手指,给小店增加一点访问量吧,点击小店,同时希望我的文章对你的学习有所帮助。本文也很简单,主要讲解pytorch的…

【项目实训#08】HarmonyOS知识图谱前端可视化实现

【项目实训#08】HarmonyOS知识图谱前端可视化实现 文章目录 【项目实训#08】HarmonyOS知识图谱前端可视化实现一、背景简介二、技术方案与架构设计2.1 技术选型2.2 组件架构设计 三、知识图谱可视化组件实现3.1 KGResultTab组件设计组件模板结构不同状态的处理用户交互控制节点…

【软件开发】什么是DSL

什么是DSL DSL(Domain-Specific Language,领域特定语言)是一种为特定领域或任务设计的编程语言,目的在于提高该领域中的表达能力与开发效率。 1 在脚本语言中的 DSL 是什么? 在脚本语言(如 Python、Lua、…

JasperReport生成PDF/A类型文档

当JasperReport导出的文档为PDF/A模式时,该PDF为只读可以防止被修改。 设置导出参数 JRPdfExporter exporter new JRPdfExporter();exporter.setExporterInput(SimpleExporterInput.getInstance(jasperPrints));exporter.setExporterOutput(new SimpleOutputStre…

微信小程序使用画布实现飘落泡泡功能

微信小程序使用画布实现飘落泡泡功能:从组件封装到页面调用的完整实践 先看示例截图: 一、背景与技术选型 在微信小程序中实现类似于飘落的泡泡或者樱花飘落的功能,一般主要有 Canvas 和图片两种方案: (1&#xff…

使用STM32设置GPIO中断

使用S™ 32设置GPIO中断 中断示例按键中断实例设计:EXTI0和EXTI9硬件连接分析STM32代码实现代码说明 中断示例 设计一个按键中断的实例。设置两个中断:EXTI0、EXTI9, 在EXTI9的中断服务之程序中实现LED灯的控制 按键中断实例设计&#xff…

解决在微信小程序中view组件下的text和images设置了样式display: flex; align-items: center;对不齐

原始代码的问题 <view style"display: flex; align-items: center;"><text style"line-height: 1;">全国</text><image src"/images/xia.png" style"height: 20rpx; width: 20rpx; display: block;"></im…

归并排序详解:优雅的分治艺术

什么&#xff1f;归并排序&#xff1f;这让博主想起了大学那会被《数据结构与算法》支配的恐惧… 哈哈言归正传&#xff0c;一直想对算法做一个专栏&#xff0c;因为其实工作中很少很少有机会用到算法&#xff0c;倒是很多工具方法底层会使用&#xff0c;工作被各种需求业务“折…

新零售视域下实体与虚拟店融合的技术逻辑与商业模式创新——基于开源AI智能名片与链动2+1模式的S2B2C生态构建

摘要&#xff1a;新零售的核心在于打破线上线下边界&#xff0c;构建“人、货、场”的全场景融合生态。本文提出&#xff0c;实体线下店与虚拟店的协同发展是新零售的重要演进方向&#xff0c;其底层逻辑在于满足消费者作为“现实人”的体验需求与“虚拟人”的效率需求。通过引…

可视化图解算法51:寻找第K大(数组中的第K个最大的元素)

牛客网 面试笔试 TOP101 | LeetCode 215. 数组中的第K个最大元素 1. 题目 描述 有一个整数数组&#xff0c;请你找出数组中第 k 大的数。 给定一个整数数组 a ,同时给定它的大小n和要找的 k &#xff0c;请返回第 k 大的数(包括重复的元素&#xff0c;不用去重)&…

DataWhale-零基础网络爬虫技术(一)

课程链接先给各位 ↓↓↓ &#xff08;点击即可食用.QAQ Datawhale-学用 AI,从此开始 一、引言 还是在笔记的开始&#xff0c;唠唠一些自己的故事 十年前第一次接触网络&#xff0c;也可以说是第一次接触计算机的时候&#xff0c;那时候还是在中学阶段&#xff0c;那时候大…

Linux02

目录 linux常用命令 用户和权限 压缩和解压缩 其他相关命令 Linux中安装常用软件 1.1. jdk的安装 1.1.1. 卸载linux中自带的open-jdk 1.1.2. 把安装包上传到 linux上 1.1.3. 解压安装包 1.1.4. 配置环境变量 1.1.5 验证环境变量 1.3 安装mysql 1.3.1. 检查依赖 1.…

JavaSE超详细笔记-网络编程篇-基于黑马

1. 什么是网络编程【理解】 1.1 概念 在网络通信协议下&#xff0c;不同计算机上运行的程序&#xff0c;进行的数据传输。 应用场景: 即时通信、网游对战、金融证券、国际贸易、邮件、等等。 不管是什么场景&#xff0c;都是计算机跟计算机之间通过网络进行数据传输Java中可以使…

时序数据库Influxdb3 core安装

本文介绍时序数据库Influxdb3 core(开源版本)的安装和简单使用以及调优参数的介绍。 预期&#xff1a; 安装时序数据库Influxdb3 core 创建数据库mydb 写入数据&#xff1b; 使用influxdb3-cli 和 grafana2种方式查询写入的数据 前期准备&#xff1a; linux服务器(本文服…