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. How to create a angular2 project process

    步骤1. 设置开发环境 在开始工作之前,我们必须设置好开发环境. 如果你的机器上还没有Node.js®和npm 和VScode(因为我是用VS工具来编辑的), 请先安装它们. 然后全局安装 Angul ...

  2. Java Thread中,run方法和start方法的区别

     两种方法的区别: 1.start方法 用 start方法来启动线程,是真正实现了多线程, 通过调用Thread类的start()方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦 ...

  3. 【linux】linux下java环境安装

    1:下载jdk的包,通过ftp传到服务器 2:解压 tar zxvf jdk-8u181-linux-x64.tar.gz 3:环境配置 编辑配置文件: vim /etc/profile 在文件下插入 ...

  4. netty 实现简单的rpc调用

    yls 2020/5/23 netty 实现简单rpc准备 使用netty传输java bean对象,可以使用protobuf,也可以通过json转化 客户端要将调用的接口名称,方法名称,参数列表的类 ...

  5. Java并发:线程安全分析

    java中的线程安全是什么: 就是线程同步的意思,就是当一个程序对一个线程安全的方法或者语句进行访问的时候,其他的不能再对他进行操作了,必须等到这次访问结束以后才能对这个线程安全的方法进行访问 什么叫 ...

  6. 图像分析之梯度L0范数平滑

    本文是Image Smoothing via L0 Gradient Minimization一文的笔记.L0 Gradient Smoothing的formulation与TV和WLS等基于变分的模 ...

  7. SQL——SQL别名、UNION和SELECT INTO

    Alias(别名) - 为列名称和表名称指定别名    语法:表SELECT columnName(s) FROM tableName AS aliasName          列SELECT co ...

  8. SPL数据结构

    数据结构是计算机存储.组织数据的方式. SPL提供了双向链表.堆栈.队列.堆.降序堆.升序堆.优先级队列.定长数组.对象容器. 基本概念Bottom:节点,第一个节点称Bottom:Top:最后添加的 ...

  9. SpringCloud Alibaba 简介

    SpringCloud Aliababa简介 SpringCloud Alibaba是阿里巴巴集团开源的一套微服务架构解决方案. 微服务架构是为了更好的分布式系统开发,将一个应用拆分成多个子应用,每一 ...

  10. 计算机启动 Ubuntu系统初始化 SysV Systemd

    计算机启动过程 第一阶段:BIOS boot (bootstrap的缩写)来自一句谚语:"pull oneself up by one's bootstraps" 最早的时候,计算 ...