【alibaba cloud】在macM1上用docker部署nacos集群

前提环境

  • Docker Desktop

组件搭建

Nacos

环境部署(单机)

先从git上克隆nacos-docker的docker-compose的yml文件

git clone https://github.com/nacos-group/nacos-docker.git
cd nacos-docker

在M1Mac上是不能直接执行的,因为Alibaba并没有提供arm64架构的nacos-docker环境,需要使用arm64环境build的docker才能使用,我们这里需要替换掉镜像。

vim example/standalone-derby.yaml
version: "2"
services:
  nacos:
    image: zhusaidong/nacos-server-m1:2.0.3 # 替换为此处镜像
    container_name: nacos-standalone
    environment:
    - PREFER_HOST_MODE=hostname
    - MODE=standalone
    volumes:
    - ./standalone-logs/:/home/nacos/logs
    # 这里要提前新建一个custom.properties文件,否则系统会建立一个文件夹,在映射会出问题!
    - ./init.d/custom.properties:/home/nacos/init.d/custom.properties
    ports:
docker-compose -f example/standalone-derby.yaml up

见到INFO Completed initialization in 16 ms即为配置成功

如提示docker-compose: command not found,请参见安装docker-compose

集群配置(推荐使用这个配置)

vim example/cluster-hostname.yaml
version: "3"
services:
  nacos1:
    hostname: nacos1
    container_name: nacos1
    image: zhusaidong/nacos-server-m1:2.0.3 #更改这里为m1镜像
    volumes:
      - ./cluster-logs/nacos1:/home/nacos/logs
      # 这里要提前新建一个custom.properties文件,否则系统会建立一个文件夹,在映射会出问题!
      - ./init.d/custom.properties:/home/nacos/init.d/custom.properties 
    ports:
      - "8848:8848"
      - "9848:9848"
      - "9555:9555"
    env_file:
      - ../env/nacos-hostname.env
    restart: always

  nacos2:
    hostname: nacos2
    container_name: nacos2
    image: zhusaidong/nacos-server-m1:2.0.3 #更改这里为m1镜像
    volumes:
      - ./cluster-logs/nacos2:/home/nacos/logs
      - ./init.d/custom.properties:/home/nacos/init.d/custom.properties
    ports:
      - "8849:8848"
      - "9849:9848"
    env_file:
      - ../env/nacos-hostname.env
    restart: always
vim env/nacos-hostname.env
# 详细配置项请在https://nacos.io/zh-cn/docs/quick-start-docker.html查看

# 启用hostname配置
PREFER_HOST_MODE=hostname
# 启动集群模式
MODE=cluster
# 配置集群的hostname
NACOS_SERVERS=nacos1:8848 nacos2:8848
# 配置数据源,如不需要可以不配
SPRING_DATASOURCE_PLATFORM=mysql
# 使用宿主机数据源
MYSQL_SERVICE_HOST=host.docker.internal
MYSQL_SERVICE_PORT=3306
MYSQL_SERVICE_USER=root
MYSQL_SERVICE_PASSWORD=admin
MYSQL_SERVICE_DB_NAME=nacos

(可选)配置数据源

在上面我们发现数据源找到的是我们数据库中的nacos,如果没有需要建表

建表语句请在Nacos2以mysql作为数据源的建表语句中查看。

配置完成之后使用docker-compose启动,

docker-compose -f example/cluster-hostname.yaml 

此过程会加载地很慢很慢,请耐心等待,直到出现Successfully字样即为成功。


Sentinel-Dashboard

因为Sentinel并没有基于docker的镜像包,所以我自己通过jar文件打包了一个镜像,详细配置请看这里:https://hub.docker.com/r/birdyson/sentinel-dashboard

环境部署

以docker形式启动(不推荐,需要手动启动)

仅需一条命令即可:

docker run -p 8888:8888 -p 8719:8719 birdyson/sentinel-dashboard:1.8.2
以docker-compose形式启动(推荐,可以跟nacos一起启动)
version: "3"
services:
  sentinel:
    container_name: sentinel-dashboard
    image: birdyson/sentinel-dashboard:1.8.2
    ports:
      - "8888:8888"
      - "8719:8719"
    restart: always
在IDEAapplication.yml中的配置
spring:
  cloud:
    sentinel:
      transport:
        port: 8719
        dashboard: localhost:8888
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

edanhuang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值