nacos

最近尝试着将项目由springcloud + netflix重构为springcloud alibaba,需要安装一些组件,感觉安装太麻烦,版便尝试着使用docker来部署,发现挺方便,记录一下。

单机版

docker直接运行

1)准备工作

  1. # 创建文件夹存放一些配置文件
  2. mkdir -p /home/docker/nacos
  3. cd /home/docker/nacos

2)创建配置文件

vim nacos-standlone-mysql.env

  1. PREFER_HOST_MODE=hostname
  2. MODE=standalone
  3. SPRING_DATASOURCE_PLATFORM=mysql
  4. MYSQL_SERVICE_HOST=192.168.0.130
  5. MYSQL_SERVICE_DB_NAME=nacos_config
  6. MYSQL_SERVICE_PORT=3306
  7. MYSQL_SERVICE_USER=root
  8. MYSQL_SERVICE_PASSWORD=123456
  9. JVM_XMS=512m
  10. JVM_XMX=512m
  11. JVM_XMN=256m
  12. JVM_MS=32m
  13. JVM_MMS=80m
  14. # 保存退出 :wq

vim custom.properties

  1. #spring.security.enabled=false
  2. #management.security=false
  3. #security.basic.enabled=false
  4. #nacos.security.ignore.urls=/**
  5. #management.metrics.export.elastic.host=http://localhost:9200
  6. # metrics for prometheus
  7. management.endpoints.web.exposure.include=*
  8. # metrics for elastic search
  9. #management.metrics.export.elastic.enabled=false
  10. #management.metrics.export.elastic.host=http://localhost:9200
  11. # metrics for influx
  12. #management.metrics.export.influx.enabled=false
  13. #management.metrics.export.influx.db=springboot
  14. #management.metrics.export.influx.uri=http://localhost:8086
  15. #management.metrics.export.influx.auto-create-db=true
  16. #management.metrics.export.influx.consistency=one
  17. #management.metrics.export.influx.compressed=true
  18. # 保存退出

3)运行

  1. # 注意使用绝对路径
  2. docker run --name standalone-mysql-5.7 -d \
  3. --env-file /home/docker/nacos/nacos-standlone-mysql.env \
  4. -p 8848:8848 \
  5. -p 9555:9555 \
  6. -v /home/docker/nacos/standalone-logs/:/home/nacos/logs \
  7. -v /home/docker/nacos/custom.properties:/home/nacos/init.d/custom.properties \
  8. --restart=on-failure \
  9. nacos/nacos-server:1.2.0

docker-compose运行

官方提供的方式就是docker-compose的方式

nacos docker 连接

1)下载git到本地

  1. # 运行
  2. git clone https://github.com/nacos-group/nacos-docker.git
  3. #切换到1.2.0的分支
  4. git checkout 1.2.0

2)修改配置文件

vim nacos-docker/example/standalone-mysql-5.7.yaml

  1. version: "2"
  2. services:
  3. nacos:
  4. image: nacos/nacos-server:1.2.0
  5. container_name: nacos-standalone-mysql
  6. env_file:
  7. - ../env/nacos-standlone-mysql.env
  8. volumes:
  9. - ./standalone-logs/:/home/nacos/logs
  10. - ./init.d/custom.properties:/home/nacos/init.d/custom.properties
  11. ports:
  12. - "8848:8848"
  13. - "9555:9555"
  14. restart: on-failure

vim ../env/nacos-standlone-mysql.env

  1. PREFER_HOST_MODE=hostname
  2. MODE=standalone
  3. SPRING_DATASOURCE_PLATFORM=mysql
  4. MYSQL_SERVICE_HOST=192.168.0.130 # mysql的ip
  5. MYSQL_SERVICE_DB_NAME=nacos_config # mysql的库名
  6. MYSQL_SERVICE_PORT=3306
  7. MYSQL_SERVICE_USER=root
  8. MYSQL_SERVICE_PASSWORD=123456
  9. # 修改JVM参数,nacos集群模式默认内存 java -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m ,这里需要修改内存配置(根据你的硬件配置调整)
  10. JVM_XMS=512m
  11. JVM_XMX=512m
  12. JVM_XMN=256m
  13. JVM_MS=32m
  14. JVM_MMS=80m
  15. # 保存退出

vim ./init.d/custom.properties

  1. #spring.security.enabled=false
  2. #management.security=false
  3. #security.basic.enabled=false
  4. #nacos.security.ignore.urls=/**
  5. #management.metrics.export.elastic.host=http://localhost:9200
  6. # metrics for prometheus
  7. management.endpoints.web.exposure.include=*
  8. # metrics for elastic search
  9. #management.metrics.export.elastic.enabled=false
  10. #management.metrics.export.elastic.host=http://localhost:9200
  11. # metrics for influx
  12. #management.metrics.export.influx.enabled=false
  13. #management.metrics.export.influx.db=springboot
  14. #management.metrics.export.influx.uri=http://localhost:8086
  15. #management.metrics.export.influx.auto-create-db=true
  16. #management.metrics.export.influx.consistency=one
  17. #management.metrics.export.influx.compressed=true

3)启动

  1. # 先切换目录
  2. cd nacos-docker/example
  3. # 启动
  4. docker-compose -f standalone-mysql-5.7.yaml up -d
  5. docker ps

集群

1)拉取代码

  1. # 没有的话就安装
  2. yum insyall -y git
  3. git clone https://github.com/nacos-group/nacos-docker.git
  4. #切换到1.2.0的分支
  5. git checkout 1.2.0
  6. # 查看当前分支
  7. [root@VM_0_16_centos nacos-docker]# git branch -v
  8. * 1.2.0 a24dd38 Fix auth not enabled #79
  9. master a24dd38 Fix auth not enabled #79

2)修改配置文件

注意:这里会用host方式运行

2.1)nacos-hostname.env

先备份旧文件:cp env/nacos-hostname.env env/nacos-hostname.env.bak

vim env/nacos-hostname.env

  1. ###开始
  2. #nacos dev env
  3. PREFER_HOST_MODE=hostname
  4. NACOS_SERVERS=nacos1:8848 nacos2:8848 nacos3:8848
  5. MYSQL_SERVICE_HOST=192.168.0.130 # mysql的ip
  6. MYSQL_SERVICE_DB_NAME=nacos_config # mysql的库名
  7. MYSQL_SERVICE_PORT=3306
  8. MYSQL_SERVICE_USER=root
  9. MYSQL_SERVICE_PASSWORD=123456
  10. # 修改JVM参数,nacos集群模式默认内存 java -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m ,一般情况下三台机子+mysql需要8G以上内存才够用,这里需要修改内存配置
  11. JVM_XMS=512m
  12. JVM_XMX=512m
  13. JVM_XMN=256m
  14. JVM_MS=32m
  15. JVM_MMS=80m
  16. ###结束

2.2)cluster-hostname.yaml

先备份旧文件:cp example/cluster-hostname.yaml example/cluster-hostname.yaml.bak

vim example/cluster-hostname.yaml

删除内嵌的mysql及其依赖(可选,如果你不需要使用自己的mysql就不用删除)

  1. version: "3"
  2. services:
  3. nacos1:
  4. hostname: nacos1
  5. container_name: nacos1
  6. image: nacos/nacos-server:1.2.0 # 注意所有的nacos版本由latest更换为1.2.0
  7. volumes:
  8. - ./cluster-logs/nacos1:/home/nacos/logs
  9. - ./init.d/custom.properties:/home/nacos/init.d/custom.properties
  10. ports:
  11. - "8848:8848"
  12. - "9555:9555"
  13. env_file:
  14. - ../env/nacos-hostname.env
  15. restart: always
  16. nacos2:
  17. hostname: nacos2
  18. image: nacos/nacos-server:1.2.0
  19. container_name: nacos2
  20. volumes:
  21. - ./cluster-logs/nacos2:/home/nacos/logs
  22. - ./init.d/custom.properties:/home/nacos/init.d/custom.properties
  23. ports:
  24. - "8849:8848"
  25. env_file:
  26. - ../env/nacos-hostname.env
  27. restart: always
  28. nacos3:
  29. hostname: nacos3
  30. image: nacos/nacos-server:1.2.0
  31. container_name: nacos3
  32. volumes:
  33. - ./cluster-logs/nacos3:/home/nacos/logs
  34. - ./init.d/custom.properties:/home/nacos/init.d/custom.properties
  35. ports:
  36. - "8850:8848"
  37. env_file:
  38. - ../env/nacos-hostname.env
  39. restart: always

2.3)创建数据库表

执行下一步之前先在你的mysql中创建nacos_config数据库,然后运行sql文件

  1. https://github.com/alibaba/nacos/blob/develop/distribution/conf/nacos-mysql.sql

3)运行

  1. #很重要
  2. cd example # 进入当前文件夹
  3. docker-compose -f ./cluster-hostname.yaml up -d
  4. docker ps
  5. # 删除
  6. docker-compose -f ./cluster-hostname.yaml stop

docker安装nacos的更多相关文章

  1. Docker安装Nacos动态服务发现、配置和服务管理平台

    一.通过DockerHub拉镜像,版本查看:https://github.com/nacos-group/nacos-docker //稳定版,有权限 docker pull nacos/nacos- ...

  2. Docker安装Alibaba Nacos教程(单机)

    SpringCloudAlibaba实战教程系列 阿里巴巴Nacos官方文档 docker:官网 docker:镜像官网:镜像官网可以所有应用,选择安装环境:会给出安装命令,例如:docker pul ...

  3. Docker下安装Nacos

    1:使用docker获取nacos服务镜像 docker pull nacos/nacos-server(不加版本号表示获取最新版本) 2:查看是否成功下载nacos镜像 docker images ...

  4. docker安装禅道

    一.下载地址 禅道开源版:   http://dl.cnezsoft.com/zentao/docker/docker_zentao.zip 数据库用户名: root,默认密码: 123456.运行时 ...

  5. 手把手教你 Docker搭建nacos单机版

    Docker搭建nacos单机版步骤 一.使用 docker pull nacos/nacos-server 拉取nacos镜像 我这里没有指定版本所以是拉取latest,你也可以使用 docker ...

  6. 理解Docker(1):Docker 安装和基础用法

    本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...

  7. docker安装

    系统要求:需要一个64位的centos7操作系统和版本3.10或更高版本的Linux内核 开始安装: uname -r   //查看内核版本yum -y update //更新系统更新到最新 #安装d ...

  8. 2. Docker - 安装

    一.Docker介绍 1. Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上, 也可以实现虚拟化. 容器时完全使用沙 ...

  9. Docker 安装部署

    Docker学习笔记 一.Ubuntu Docker 安装 (1).获取最新版本Docker安装包 lyn@lyn:/data/docker$ sudo wget -qO- https://get.d ...

随机推荐

  1. Angular和Ionic的路由跳转

    一.Angular和Ionic的路由跳转 Angular的路由跳转: constructor(private router:Router){    } .... this.router.navigat ...

  2. 推荐一款复式记账软件——GnuCash

    本文需要搞清楚两个事情,第一,什么是复式记账:第二,GnuCash操作 复式记账,来自百度百科的解释:复式记账法是以资产与权益平衡关系作为记账基础,对于每一笔经济业务,都要以相等的金额在两个或两个以上 ...

  3. Unity 游戏框架搭建 2019 (四十八/四十九) MonoBehaviourSimplify 中的消息策略完善&关于发送事件的简单封装

    MonoBehaviourSimplify 中的消息策略完善 在上一篇,笔者说,MonoBehaviourSimplify 中的消息策略还有一些小问题.我们在这篇试着解决一下. 先贴出来代码: usi ...

  4. Qt版本中国象棋开发(二)

    实现功能:棋盘绘制 核心函数: void paintEvent(QPaintEvent *); //QWidget自带的虚函数,重写后使用 QPainter 类来绘制图形 QPainter paint ...

  5. 前端基础进阶(六):在chrome开发者工具中观察函数调用栈、作用域链与闭包

    在前端开发中,有一个非常重要的技能,叫做断点调试. 在chrome的开发者工具中,通过断点调试,我们能够非常方便的一步一步的观察JavaScript的执行过程,直观感知函数调用栈,作用域链,变量对象, ...

  6. Java的基本数据类型及其封装类

    Java的基本数据类型及其封装类 一.8种基本数据类型 二.基本数据类型的包装类及大小 三.基本数据类型和封装类的区别 定义不同.封装类是对象,基本数据类型不是: 使用方式不同.封装类需要先new初始 ...

  7. unix 密码破解,zip破解总结

    unix /etc/passwd 破解,假设的前两位是salt import crypt #数据比较 def password_crak(pass_word): salt = pass_word[0: ...

  8. 个人工具,编辑器visual studio code

    个人收集的使用方法:简化版 主要基于基础web前端开发,visual studio code教程——基础使用.扩展插件安装使用 下载地址: https://visualstudio.microsoft ...

  9. XXE漏洞学习1

    1.test.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ANY [ <! ...

  10. Spring boot Sample 003之spring-boot-configuration-properties

    一.环境 1.1.Idea 2020.1 1.2.JDK 1.8 二.目的 通过properties文件配置spring boot 属性文件 三.步骤 3.1.点击File -> New Pro ...