nacos

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

单机版

docker直接运行

1)准备工作

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

2)创建配置文件

vim nacos-standlone-mysql.env

PREFER_HOST_MODE=hostname
MODE=standalone
SPRING_DATASOURCE_PLATFORM=mysql
MYSQL_SERVICE_HOST=192.168.0.130
MYSQL_SERVICE_DB_NAME=nacos_config
MYSQL_SERVICE_PORT=3306
MYSQL_SERVICE_USER=root
MYSQL_SERVICE_PASSWORD=123456 JVM_XMS=512m
JVM_XMX=512m
JVM_XMN=256m
JVM_MS=32m
JVM_MMS=80m
# 保存退出 :wq

vim custom.properties

#spring.security.enabled=false
#management.security=false
#security.basic.enabled=false
#nacos.security.ignore.urls=/**
#management.metrics.export.elastic.host=http://localhost:9200
# metrics for prometheus
management.endpoints.web.exposure.include=* # metrics for elastic search
#management.metrics.export.elastic.enabled=false
#management.metrics.export.elastic.host=http://localhost:9200 # metrics for influx
#management.metrics.export.influx.enabled=false
#management.metrics.export.influx.db=springboot
#management.metrics.export.influx.uri=http://localhost:8086
#management.metrics.export.influx.auto-create-db=true
#management.metrics.export.influx.consistency=one
#management.metrics.export.influx.compressed=true
# 保存退出

3)运行

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

docker-compose运行

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

nacos docker 连接

1)下载git到本地

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

2)修改配置文件

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

version: "2"
services:
nacos:
image: nacos/nacos-server:1.2.0
container_name: nacos-standalone-mysql
env_file:
- ../env/nacos-standlone-mysql.env
volumes:
- ./standalone-logs/:/home/nacos/logs
- ./init.d/custom.properties:/home/nacos/init.d/custom.properties
ports:
- "8848:8848"
- "9555:9555"
restart: on-failure

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

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

vim ./init.d/custom.properties

#spring.security.enabled=false
#management.security=false
#security.basic.enabled=false
#nacos.security.ignore.urls=/**
#management.metrics.export.elastic.host=http://localhost:9200
# metrics for prometheus
management.endpoints.web.exposure.include=* # metrics for elastic search
#management.metrics.export.elastic.enabled=false
#management.metrics.export.elastic.host=http://localhost:9200 # metrics for influx
#management.metrics.export.influx.enabled=false
#management.metrics.export.influx.db=springboot
#management.metrics.export.influx.uri=http://localhost:8086
#management.metrics.export.influx.auto-create-db=true
#management.metrics.export.influx.consistency=one
#management.metrics.export.influx.compressed=true

3)启动

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

集群

1)拉取代码

# 没有的话就安装
yum insyall -y git git clone https://github.com/nacos-group/nacos-docker.git
#切换到1.2.0的分支
git checkout 1.2.0
# 查看当前分支
[root@VM_0_16_centos nacos-docker]# git branch -v
* 1.2.0 a24dd38 Fix auth not enabled #79
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

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

2.2)cluster-hostname.yaml

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

vim example/cluster-hostname.yaml

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

version: "3"
services:
nacos1:
hostname: nacos1
container_name: nacos1
image: nacos/nacos-server:1.2.0 # 注意所有的nacos版本由latest更换为1.2.0
volumes:
- ./cluster-logs/nacos1:/home/nacos/logs
- ./init.d/custom.properties:/home/nacos/init.d/custom.properties
ports:
- "8848:8848"
- "9555:9555"
env_file:
- ../env/nacos-hostname.env
restart: always nacos2:
hostname: nacos2
image: nacos/nacos-server:1.2.0
container_name: nacos2
volumes:
- ./cluster-logs/nacos2:/home/nacos/logs
- ./init.d/custom.properties:/home/nacos/init.d/custom.properties
ports:
- "8849:8848"
env_file:
- ../env/nacos-hostname.env
restart: always nacos3:
hostname: nacos3
image: nacos/nacos-server:1.2.0
container_name: nacos3
volumes:
- ./cluster-logs/nacos3:/home/nacos/logs
- ./init.d/custom.properties:/home/nacos/init.d/custom.properties
ports:
- "8850:8848"
env_file:
- ../env/nacos-hostname.env
restart: always

2.3)创建数据库表

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

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

3)运行

#很重要
cd example # 进入当前文件夹
docker-compose -f ./cluster-hostname.yaml up -d
docker ps # 删除
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. 我的.emacs配置

    我不是大神,使用vim和emacs只是兴趣,打发空闲时间. 上代码: ;; Added by Package.el. This must come before configurations of ; ...

  2. OpenCv 学习安装(一)

    1.opencv版本:opencv-3.4.2-vc14_vc15.exe2.设置环境变量path: E:\opencv\opencv\build\x64\vc14\bin3.用VS2015新建一个w ...

  3. xampp apache 安全性问题

    要禁止 Apache 显示目录结构列表,只需将 Option 中的 Indexes 去掉即可.<Directory "D:/Apa/blabla"> Options I ...

  4. logger日志接口SLF4J

    SLF4J只是一个接口,可以实现程序的解藕.SLF4J可以与log4j.logback.jdk等日志系统结合,以及在这些日志系统之间切换. 使用maven导入各个日志系统的jar包.需要注意的是要写相 ...

  5. Havel定理 poj1659

    http://blog.csdn.net/xcszbdnl/article/details/14174669 代码风格这里的 Frogs' Neighborhood Time Limit: 5000M ...

  6. uniapp打包发版到linux服务器步骤----H5端

    最近在写uni-app项目,项目打包部署到服务器后,搞了好一会一直打开是空白页,原来自己有几个地方疏忽了,现把步骤整理一下: 第1步:编辑配置 mainifest.json 文件 tip:运行的基础路 ...

  7. 【C#图解教程学习笔记】第13章 委托

    13.1 什么是委托 委托是持有一个或多个方法的对象,可将一个方法传递到另一个方法. 委托是用户自定义的引用类型. 13.2 委托概述 类表示的是数据和方法的集合,而委托持有一个或多个方法,以及一系列 ...

  8. 最全的ASCII码对照表

    转自https://blog.csdn.net/jinduozhao/article/details/75398793 十进制代码 十六进制代码 MCS 字符或缩写 DEC 多国字符名 ASCII 控 ...

  9. dsPIC33EP单片机的PPS(外设引脚选择)

    利用dsPIC33EP单片机进行can通信的时候用到引脚复用 引脚复用通过查询数据手册: C1RX的寄存器为RPINR26.C1RXR=(设置为需要用到的引脚) 引脚设置为输入(C1RX),TRIS= ...

  10. Android系统签名简介

    apk的签名,简单说开发者可以通过签名 对应用进行标识和更新.包名在一个设备上是唯一的,这样可以避免被相同包名应用随意覆盖安装.这是一个非常重要的安全功能.系统中的签名文件,也是对系统中应用进行签名, ...