SpringCloudAlibaba学习笔记【三】Docker搭建Nacos服务

Windows安装Nacos服务,可以查看【SpringCloudAlibaba学习笔记【二】Windows搭建Nacos服务】

前提
    1.操作系统CentOs7
    1.1.CentOs7上安装好Docker【安装Docker】

方式一

仅部署nacos-server,不使用prometheus/grafana等监控组件

版本

Nacos的Docker版本查看:https://hub.docker.com/r/nacos/nacos-server/tags

SpringCloudAlibaba学习笔记【三】Docker搭建Nacos服务_第1张图片

docker search nacos    #搜索nacos的镜像

SpringCloudAlibaba学习笔记【三】Docker搭建Nacos服务_第2张图片

下载 

docker pull nacos/nacos-server:v2.0.4  #推荐稳定版版本,如果不指定版本的话则就是latest版本(对应nacos的v2.0.4版本)

SpringCloudAlibaba学习笔记【三】Docker搭建Nacos服务_第3张图片

docker images  #查看docker中的所有镜像包

运行 

 镜像包下载好了,那么就剩余启动镜像包了,这里多一些话,介绍一下参数的含义,以免蒙蒙的只跟着步骤走
-v: 某个容器的目录:映射centos上的某个目录(即挂载)
-p: 外部访问端口:内部被映射端口(即端口)
-e: 环境变量设置
-d: 后台运行
–name: 容器的名称
–restart: 重启策略

docker run -d -e MODE=standalone  -v  /nacos/logs:/home/nacos/logs  -p 8848:8848  --name nacos --restart=always   nacos/nacos-server:v2.0.4

或者这个命令也行

docker run --env MODE=standalone --restart=always --name nacos -d -p 8848:8848 nacos/nacos-server:v2.0.4

成功运行! 

日志 

如何查看日志?

注意: 10m的话是时间的参数,根据自己想看的时长设置

docker  ps     	#查看已经启动的容器
docker logs --since  10m   nacos的容器id      #查看指定容器的输出日志

SpringCloudAlibaba学习笔记【三】Docker搭建Nacos服务_第4张图片

 横线画的地址一个是docker容器中的ip地址,这个很重要(外部连接使用服务器ip+外映射端口,内部连接(单一服务也部署在docker上)的话使用docker容器中的某个容器的ip地址以及它内部的端口号

SpringCloudAlibaba学习笔记【三】Docker搭建Nacos服务_第5张图片

效果 

用户名/密码: nacos/nacos  --默认的

SpringCloudAlibaba学习笔记【三】Docker搭建Nacos服务_第6张图片

SpringCloudAlibaba学习笔记【三】Docker搭建Nacos服务_第7张图片

 修改Nacos的配置

对于Docker中怎么修改Nacos的配置呢?很简单直接上操作~ 

docker  ps     #查看启动的容器 找到nacso的容器id
docker  exec -it  nacos的容器id   /bin/bash    #进入nacso的容器中
exit  		   #退出容器

 以下就是如何更改Nacos配置的操作,只需要对application.properties进行操作就可以了。

SpringCloudAlibaba学习笔记【三】Docker搭建Nacos服务_第8张图片

 方式二

通过docker-compose部署,包含prometheus/grafana等监控组件

参考文档:https://nacos.io/zh-cn/docs/quick-start-docker.html

 前提

  安装git和docker-compose

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

单机模式 Derby
docker-compose -f example/standalone-derby.yaml up

单机模式 MySQL
 -- 如果希望使用MySQL5.7
    docker-compose -f example/standalone-mysql-5.7.yaml up
 -- 如果希望使用MySQL8
    docker-compose -f example/standalone-mysql-8.yaml up

集群模式
  docker-compose -f example/cluster-hostname.yaml up 

网络原因不进行效果展示 !

方式三

作为方式一的补充:就是使用配置文件挂载的方式进行部署

挂载目录

mkdir -p /home/nacos/logs/                      #新建logs目录
mkdir -p /home/nacos/init.d/          
vim /home/nacos/init.d/custom.properties        #修改配置文件

添加如下参数:

server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848

spring.datasource.platform=mysql

# 数据库配置
db.num=1
db.url.0=jdbc:mysql://xx.xx.xx.x:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=user
db.password=pass


nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false

management.metrics.export.elastic.enabled=false

management.metrics.export.influx.enabled=false


server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i


nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
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
nacos.naming.expireInstance=true

启动容器

docker  run \
--name nacos -d \
-p 8848:8848 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /mydata/nacos/logs:/home/nacos/logs \
-v /mydata/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
nacos/nacos-server

效果 

SpringCloudAlibaba学习笔记【三】Docker搭建Nacos服务_第9张图片

SpringCloudAlibaba学习笔记【三】Docker搭建Nacos服务_第10张图片

 

你可能感兴趣的:(docker,java,nacos,docker,nacos)