SpringCloud(一):Docker单节点安装nacos

docker版本:19.03.2

docker -v
Docker version 19.03.2, build 6a30dfc

运行环境: Mac OS

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

1.拉取镜像

docker pull nacos/nacos-server

查看镜像版本:

docker image inspect nacos/nacos-server:latest|grep -i version

或者安装运行起来后查看具体版本

docker images

2.mysql服务器上创建数据库nacos,并初始化表:

https://github.com/alibaba/nacos/tree/1.4.1/distribution/conf

 连接到mysql数据库,并创建nacos数据库,执行nacos-mysql.sql来初始化数据库。sql语句中会创建一个账户和密码都是nacos的账户,后边登录时会使用到。

注意:

mysql版本要求:5.6.5+

3.挂载目录

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

/home/nacos/init.d/custom.properties 添加如下参数:

server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql

db.num=1
# 地址不能配置为localhost,否则docker实例运行后找到了容器自身,会访问不到数据库,这里必须是mysql数据安装服务器ip
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

:wq 保存退出

注意:

1)如果需要修改端口号,需要修改custom.properties中参数:server.port=8848;

2)db.url.0=jdbc:mysql://xx.xx.xx.x:3306 数据库ip地址不能配置为localhost,否则docker实例运行后会localhost访问到容器自身(会访问不到数据库),这里必须是mysql数据安装服务器ip。

4.启动容器

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 /home/nacos/logs:/home/nacos/logs 
-v /home/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties 
nacos/nacos-server #运行镜像名字

# 查看容器ip
docker inspect --format='{{.NetworkSettings.IPAddress}}' nacos
172.17.0.2

5.访问

nacos启动端口是8848,启动成功后可以在浏览器中访问:http://localhost:8848, 默认账户名密码都是nacos

基础才是编程人员应该深入研究的问题,比如:
1)List/Set/Map内部组成原理|区别
2)mysql索引存储结构&如何调优/b-tree特点、计算复杂度及影响复杂度的因素。。。
3)JVM运行组成与原理及调优
4)Java类加载器运行原理
5)Java中GC过程原理|使用的回收算法原理
6)Redis中hash一致性实现及与hash其他区别
7)Java多线程、线程池开发、管理Lock与Synchroined区别
8)Spring IOC/AOP 原理;加载过程的。。。
+加关注】。

原文地址:https://www.cnblogs.com/yy3b2007com/p/14532001.html