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

使用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

相关文章:

  • 基于Springboot的动态刷新定时任务
  • 工业数据互联新基建:三格电子 PLC 数据采集网关破解跨协议通信难题
  • 高精度算法详解:从原理到加减乘除的完整实现
  • Jmeter本身耗资源导致压测不上去解决方案
  • .NET Core 数据库连接字符串加密与解密
  • JDBC基础关键_002_JDBC 增删改
  • 平压印刷机设计原理与关键技术研究
  • 图像匹配 像素跟踪roma
  • 【Dify精讲】第9章:插件系统与扩展机制【知识卡片】
  • 【深入剖析】攻克 Java 并发的基石:Java 内存模型 (JMM) 原理与实践指南
  • 阳台光伏CT电表防逆流,ADL200N-CT/D16-WF相序诊断、快速响应,易安装
  • 趣解TensorFlow之入门篇
  • 在 WinForms 中制作无边框窗体通过鼠标拖动移动和调整大小,难点是我窗体上被标题栏和状态栏dock之后很难选中
  • 【Qt】工具介绍和信号与槽机制
  • 深度学习驱动的验证码识别实战:从原理到高并发工业部署
  • docker compose部署kafka
  • 如何为加壳保护后的程序提供调试支持
  • C++11可变参数模板从入门到精通
  • Arduino入门教程:​​​​​​​2、代码基础
  • manpath: can‘t set the locale; make sure $LC_* and $LANG are correct
  • 怎样做购物网站/网站快速排名服务
  • 做网站毕业设计/杭州产品推广服务公司
  • 深圳商城网站建设/搜索引擎优化免费
  • 做网站模板在哪儿找/小程序推广方案
  • 北京建设局网站/永久免费开网店app
  • 专业的网站设计/推广普通话手抄报模板可打印