docker部署nacos2.2.3
首先nacos要配合mysql进行初始化数据,部署一个mysql5.7版本的。
systemctl stop firewalld && setenforce 0 关闭防火墙和selinuxdocker pull mysql:5.7 && docker pull nacos/nacos-server:v2.2.3 拉取镜像docker run -itd --name=mysql --net=host -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 运行mysql
然后先启动一个nacos容器把初始化文件拷贝出来
docker run -d --name nacos --net=host nacos/nacos-server:v2.2.3docker cp nacos:/home/nacos/conf/mysql-schema.sql . 拷贝出来初始化sql
docker rm nacos 拷贝完删除容器 docker cp mysql-schema.sql mysql:/home/ 把初始化sql拷贝进mysql容器docker exec -it mysql mysql -uroot -p123456 登录到mysqlcreate database nacos_config; 创建nacos初始化的库CREATE USER 'nacos'@'%' IDENTIFIED BY 'Nacos@123'; 创建连接用户grant all on *.* to nacos@'%';flush privileges;source /home/mysql-schema.sql 然后导入初始化sql
导入完成后登录数据库查看一下导入情况
配置完nacos初始化后可以启动修改nacos的配置了。
创建日志目录和配置文件目录
mkdir -p /data/nacos/logs/mkdir -p /data/nacos/init.d
vim /data/nacos/init.d/custom.properties #其中mysql连接配置修改成自己的
server.contextPath=/nacosserver.servlet.contextPath=/nacosserver.port=8848spring.datasource.platform=mysqldb.num=1db.url.0=jdbc:mysql://192.168.81.130:3306/nacos_config?characterEncoding=utf8&conn
ectTimeout=1000&socketTimeout=3000&autoReconnect=truedb.user=nacos #数据库用户db.password=Nacos@123 #用户密码nacos.cmdb.dumpTaskInterval=3600nacos.cmdb.eventTaskInterval=10nacos.cmdb.labelTaskInterval=300nacos.cmdb.loadDataAtStart=falsemanagement.metrics.export.elastic.enabled=falsemanagement.metrics.export.influx.enabled=falseserver.tomcat.accesslog.enabled=trueserver.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}inacos.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=1nacos.naming.distro.taskDispatchPeriod=200nacos.naming.distro.batchSyncKeyCount=1000nacos.naming.distro.initDataRatio=0.9nacos.naming.distro.syncRetryDelay=5000nacos.naming.data.warmup=truenacos.naming.expireInstance=true
启动命令
docker run --name nacos -itd --net=host --privileged=true --restart=always -e JVM_XMS=512m -e JVM_XMX=512m -e MODE=standalone -e PREFER_HOST_MODE=hostname -v /data/nacos/logs:/home/nacos/logs -v /data/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties nacos/nacos-server:v2.2.3
·
--net=host: 将容器加入主机的网络命名空间,使容器与主机共享网络栈。
--privileged=true: 赋予容器特权,允许容器访问主机的一些特权操作,例如更改网络配置、访问硬件设备等。·
--restart=always: 设置容器退出时自动重启,确保 Nacos 服务在意外退出时能够自动重启。
-e JVM_XMS=256m -e JVM_XMX=256m: 使用环境变量指定 JVM 的初始堆内存(Xms)和最大堆内存(Xmx),这里都设置为 256MB。
-e MODE=standalone: 使用环境变量指定 Nacos 的运行模式为独立模式(standalone)。
-e PREFER_HOST_MODE=hostname: 使用环境变量指定 Nacos 的偏好主机模式为主机名(hostname)。
·-v /home/nacos/logs:/home/nacos/logs: 将主机上的 /home/nacos/logs 目录挂载到容器中的 /home/nacos/logs 目录,用于存储 Nacos 的日志文件。
·-v /home/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties: 将主机上的 /home/nacos/init.d/custom.properties 文件挂载到容器中的 /home/nacos/init.d/custom.properties 文件,用于指定自定义的配置文件。
nacos/nacos-server:v2.2.3: 指定要运行的 Docker 镜像,这里使用的是 Nacos 服务器的官方镜像版本为 2.2.3。
启动完成后访问web看看是否正常。
192.168.81.130:8848/nacos
注意在2.2.0版本之后如果不开启鉴权,那么默认不需要登录就可以访问。
关于开启鉴权请看下面的文档,有详细步骤↓↓↓↓↓↓↓↓↓
docker部署nacos2.2x开启鉴权功能-CSDN博客