m1系列芯片aarch64架构使用docker-compose安装nacos

 之前看到 DockerHub 上发布了 m1 芯片 aarch64 架构的 nacos 镜像, 所以就尝试的安装了下, 亲测可用: 

一. docker-compose.yml 编写

请确保自己的 mysql 服务已经启动了, 并且允许远程连接

volumes 挂载目录需要换成自己的目录

二. 容器运行和网络组

2.1 查看容器运行情况

docker ps | grep nacos 

然后使用 http://localhost:8848/nacos/# 可以登录到 nacos 运维控制台

2.2 查看容器网络组

使用 docker network ls 查看所有的 docker 网络组

使用 docker inspect nacos_default ls 可以查看 nacos 的网络信息, 可以看到

网络模式为 : bridge

容器ip为 : 172.22.0.2

三. 和mysql通信

由于我们的 docker-compose.yml 文件中指定的数据源是 mysql

3.1 查看 mysql 的运行情况(docker安装)

3.2 查看 mysql 的网络组以及容器ip

由于 172.19.0.2 是 mysql 容器内 ip, 并且使用的桥接模式, 所以 nacos 没办法使用这个 ip 和 mysql 通信

3.3 docker网络隔离

测试 nacos 容器内部和 mysql 通信, 可以发现无法 ping 通, 因为默认下, 2个不通网络组的容器是没办法互相通信的, 两个容器处于隔离的网络环境中, 这种隔离是 Docker 网络的默认行为, 旨在提供网络安全和隔离

3.4 解决方式

3.4.1 方式1(将两个容器链接到同一个网络组)

可以创建一个自定义网络并将两个容器都连接到这个网络上, 这样它们将能够使用分配给它们的容器内部 IP 地址互相通信, 这可以通过以下 Docker 命令完成:

my_custom_network 这个只是网络组名称, 可以随意起名

括号里换成, 对应的你的宿主机查看到的容器id

# 创建一个自定义桥接网络
docker network create --driver bridge my_custom_network# 连接 MySQL 容器到这个网络
docker network connect my_custom_network (容器id或容器名)# 连接 Nacos 容器到这个网络
docker network connect my_custom_network (容器id或容器名)

实际操作: 

3.4.1.1  创建桥接模式的网络组并查看网络组

      docker network create --driver bridge my_custom_network

3.4.1.2 链接nacos容器和mysql容器到该网络组

使用如下命令把2个容器连接到刚才创建的 my_custom_network 网络组

 docker network connect my_custom_network 52e9e9ff94aa
docker network connect my_custom_network 5c2614366917

52e9e9ff94aa 和 5c2614366917 是 nacos / mysql 的容器 id

之后使用 docker inspect my_custom_network 查看刚才创建的网络组下面的容器 ip, 可以发现之前不在同一个网络组的 nacos 和 mysql, 现在在同一个网络组下面

我们再次进去 nacos 容器测试 ping mysql 的 ip, 可以发现, 直接 ping mysql-server (容器名称)就可以 ping 通

或使用docker-compose 把 mysql, nacos 编排带同一个网络组下面, 可以发现, 2个服务都指定了

    networks:
      - nacos-network

这样容器启动的时候, 会把他们划分到同一个网络组里面, 可以直接只用容器内的 ip 通信

version: '3.8'  # 使用 Docker Compose 文件版本 3.8services:mysql:image: mysql:latestenvironment:MYSQL_ROOT_PASSWORD: rootpassword  # 设置 MySQL root 用户的密码MYSQL_DATABASE: nacos_db           # 创建一个数据库用于 NacosMYSQL_USER: nacos_user             # 创建 MySQL 用户MYSQL_PASSWORD: nacos_password     # 设置 MySQL 用户密码ports:- "3306:3306"networks:- nacos-networknacos:image: nacos/nacos-server:latestdepends_on:- mysqlenvironment:SPRING_DATASOURCE_PLATFORM: mysqlMYSQL_SERVICE_HOST: mysqlMYSQL_SERVICE_DB_NAME: nacos_dbMYSQL_SERVICE_PORT: 3306MYSQL_SERVICE_USER: nacos_userMYSQL_SERVICE_PASSWORD: nacos_passwordports:- "8848:8848"networks:- nacos-networknetworks:nacos-network:driver: bridge
3.4.2 方式二(在宿主机上查看 docker 为我们划分的 bridge100 网段)

修改 nccos 的 application.yml 配置文件, 修改 db.url.0 的数据库连接地址ip为 192.168.64.1

附上完整的 nacos .application.yml 配置文件:

#spring
server.servlet.contextPath=/nacos
server.contextPath=/nacos
server.port=8848
server.tomcat.accesslog.max-days=30
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}ispring.datasource.platform=mysqlnacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=falsedb.num=1
# 使用 bridge100 这个网络下的ip地址
db.url.0=jdbc:mysql://192.168.64.1:3306/nacos_config
db.user=root
db.password=root123### The auth system to use, currently only 'nacos' and 'ldap' is supported:
nacos.core.auth.system.type=${NACOS_AUTH_SYSTEM_TYPE:nacos}
### worked when nacos.core.auth.system.type=nacos
### The token expiration in seconds:
nacos.core.auth.plugin.nacos.token.expire.seconds=${NACOS_AUTH_TOKEN_EXPIRE_SECONDS:18000}
### The default token:
nacos.core.auth.plugin.nacos.token.secret.key=${NACOS_AUTH_TOKEN:SecretKey012345678901234567890123456789012345678901234567890123456789}
### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.
nacos.core.auth.caching.enabled=${NACOS_AUTH_CACHE_ENABLE:false}
nacos.core.auth.enable.userAgentAuthWhite=${NACOS_AUTH_USER_AGENT_AUTH_WHITE_ENABLE:false}
nacos.core.auth.server.identity.key=${NACOS_AUTH_IDENTITY_KEY:serverIdentity}
nacos.core.auth.server.identity.value=${NACOS_AUTH_IDENTITY_VALUE:security}
server.tomcat.accesslog.enabled=${TOMCAT_ACCESSLOG_ENABLED:false}
# default current work dir
server.tomcat.basedir=file:.
## spring security config
### turn off security
nacos.security.ignore.urls=${NACOS_SECURITY_IGNORE_URLS:/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**}
# metrics for elastic search
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
nacos.naming.distro.taskDispatchThreadCount=10
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true

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

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

相关文章

蓝牙模块怎么使用?一篇全面指南!

一、引言   在这个数字化时代,蓝牙模块已经渗透到了我们日常生活的方方面面。它为各种设备提供了无线连接的可能性,极大地增强了我们的便利性和效率。那么,蓝牙模块怎么使用呢?本文将为你提供一份详细指南。   二、基础知识  …

【ai】livekit服务本地开发模式及example app信令交互详细流程

文档要安装git lfs 下载当前最新版本1.6.1 windows版本:启动dev模式 服务器启动 (.venv) PS D:\XTRANS\pythonProject\LIVEKIT> cd .\livekit_release\ (.venv) PS D:\XTRANS\pythonProject\LIVEKIT\livekit_release> lsDirectory: D:\XTRANS\pythonProject\L…

css-表头筛选的特定样式

背景 饿了么的表头筛选样式比较简单,如图1,产品觉得不够醒目(觉得用户可能不知道这是筛选,我表示不理解) 要求改进筛选的样式,达到图2的效果,主要是状态列,既希望这列的宽度固定&a…

[UE5]安卓调用外置摄像头拍照(之显示画面)

目录 部分参考文献(有些有用的我没标,没放上来) 要点 总蓝图 结果 部分参考文献(有些有用的我没标,没放上来) 【UE】获取USB摄像头画面_虚幻捕获硬件摄像头-CSDN博客 UE4安卓调用摄像头拍照确保打…

Python基础学习笔记(九)——字符串(下)

目录 前言一、字符串的编码、检测和比较1. 编码与解码2. 字符检测与判断3. 字符串的比较 二、占位符与格式化1. %型格式化2. {}型格式化3. 浮点格式化4. f-string 格式化4.1 对象调用4.2 数字格式4.3 字符串格式4.4 功能增强 三、字符驻留机制 前言 本篇将更深入地介绍字符串的…

高边坡监测常用的主要仪器设备

随着人类的发展,近几年由于人类生活生产的破坏,地球环境不断恶化。鉴于这一现象,监测行业也随之应运而生。常见的监测类型有:边坡监测,地灾监测,水库监测,大坝监测,矿山监测&#xf…

Linux完整版命令大全(十三)

git(gnu interactive tools) 功能说明:文字模式下的文件管理员。 语  法:git补充说明:git是用来管理文件的程序,它十分类似DOS下的Norton Commander,具有互动式操作界面。它的操作方法和Norton Commander几乎一样&a…

重生之 SpringBoot3 入门保姆级学习(01、Hello,SpringBoot3)

重生之 SpringBoot3 入门保姆级学习(01、Hello,SpringBoot3)) 1、快速体验1.1 创建项目1.2 导入 SpringBoot3 依赖1.3 导入 SpringBoot3 Web 依赖1.4 代码编写1.5 浏览器测试 1、快速体验 场景:浏览器发送 /hello 请求…

Balabolka-一款完全免费的电子书朗读及文本转语音软件

下载地址:Balabolka Balabolka能够进行简单的文本转语音任务,支持各种语言包,该软件可以读取剪贴板的内容, 可以查看AZW,CHM,DjVu,DOC,EPUB,FB2,LIT&#xff…

Centos安装nvm管理node版本(让安装变得可控又快捷)

Centos安装nvm管理node版本(让安装变得可控又快捷) 没有找到一个对的人,有可能是你没有走对那条路,也有可能是你没有睁开眼睛,而更大的可能是,你根本就没有出发去找。 安装说明 nvm安装目录:/us…

PG TOAST技术

1.Toast简介: Toast是超长字段在PG的一个存储方式,对于用户来说不用关注这一技术的实现,完全是透明的,它会将大字段值压缩或分散为多个物理行来存储,与Oracle的CLOB,BLOB类似。 2.Toast的存储方式&#xf…

vscode: console.log快捷键设置

webstorm 编辑器自带一个 console.log 的快捷方式,即 .log 然后按回车键就可以了,但是webstorm 用着用着就得找解码,还是 vscode 好啊 那 vscode有类似的方法吗,答案是必然的 在VScode中打开文件 → 首选项 → 用户代码片段 → 在…

JavaScrip四种输出

window.alert()&#xff1a; 使用警告框来显示数据 如&#xff1a; <!DOCTYPE html> <html> <body> <script>window.alert("我来了"); </script></body> </html> 浏览器打开就会显示一个弹窗“我来了” innerHTML&…

人工智能在乳腺癌领域的最新进展|【医学AI·文献速递·05-29】

小罗碎碎念 2024-05-29&#xff5c;文献速递 今天分享的文章&#xff0c;主题是AI乳腺癌。 第三篇文章&#xff0c;个人觉得是今天最有借鉴价值的——临床故事接地气&#xff0c;工科算法赶潮流。这篇文章主要做的事情是利用多模态多组学&#xff0c;去区分乳腺腺病和乳腺癌&a…

Oracle JSON 函数详解与实战

Oracle 数据库提供了丰富的 JSON 函数集&#xff0c;使得开发者可以高效地处理 JSON 数据。本文将详细介绍这些函数&#xff0c;包括它们的语法、使用场景、具体示例&#xff0c;以及在实际项目中的应用。 文章目录 JSON_VALUE语法参数说明示例 JSON_QUERY语法示例 JSON_TABLE语…

AttributeError: ‘Upsample‘ object has no attribute ‘recompute_scale_factor‘

我在运行yolov5 6.0版本的detect.py时遇到该错误&#xff0c;后经调研发现是pytorch版本问题&#xff0c;当我把pytorch1.13版本换到2.2.0版本时&#xff0c;再运行detect.py时没有报错&#xff0c;正常运行。 pip install torch2.2.2 torchvision0.17.2 torchaudio2.2.2 --in…

[Linux打怪升级之路]-进程和线程

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、进程 1…

编程应用怎么使用编程语言:深入探索与实战指南

编程应用怎么使用编程语言&#xff1a;深入探索与实战指南 在数字化时代&#xff0c;编程语言如同魔法语言&#xff0c;赋予了编程应用无限的可能性。然而&#xff0c;对于许多初学者来说&#xff0c;如何有效地使用编程语言来构建应用却是一个充满困惑与挑战的过程。本文将从…

etcd学习笔记

博客参考&#xff1a;K8s组件&#xff1a;etcd安装、使用及原理&#xff08;Linux&#xff09; 分布式系统架构中对一致性要求很高&#xff0c;etcd就满足了分布式系统中的一致性要求&#xff0c;实现了分布式一致性键值对存储的中间件。etcd完整的集群至少需要3台&#xff0c…

Netty-读写原理

归档 GitHub: Netty-读写原理 读原理 参考&#xff1a;选择器-监听-原理 sign_o_002 主要看 NioByteUnsafe#read() 相当于读取底层信道中的字节 io.netty.channel.nio.AbstractNioByteChannel.NioByteUnsafe 下游链处理参考&#xff1a;处理器链-读流程 protected class Ni…