Linux:docker 安装nacos并配置数据库详细

********mysql也是通过docker安装的********

首先需要搭建好容器与容器之间的通信

##创建自定义网络(用于容器之间的通信 common-network 是网络名称 可改)
docker network create common-network

#查看网络
docker network ls

Linux:docker 安装nacos并配置数据库详细_第1张图片

 拉去Mysql容器并启动(注意这里面有些路径需要手动创建 -v 后面的一些参数是需要手动创建的)

docker run -d -p 3306:3306 --name=mysql --restart=always --network common-network  -e TZ=Asia/Shanghai -v /home/demo/conf/mysql_conf/my.cnf:/etc/mysql/my.cnf -v /home/demo/mysql/data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD="123456" mysql

#容器名称
--name=mysql

#设置开机自启
--restart=always

#设置网络(主要保证nacos和Mysql在同一个网络下)
--network common-network

#设置时区
-e TZ=Asia/Shanghai

#数据库配置文件映射(需要手动创建目录)
/home/demo/conf/mysql_conf/my.cnf

#数据库数据映射到本机(需要手动创建目录)
-v /home/demo/mysql/data/mysql:/var/lib/mysql

#设置数据库密码
-e MYSQL_ROOT_PASSWORD="123456"

Mysql容器启动成功后我们可以查看一下该容器网络是否已经注册到我们定义的网络中

//查看网络
docker network ls
//查看网络容器
docker network inspect common-network

Linux:docker 安装nacos并配置数据库详细_第2张图片

 这个时候mysql容器的网络就注册到了我们创建的那个网络里面了

 创建nacos数据库的链接

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

拉取nacos容器并注册到网络中去(注意这里面有些路径需要手动创建 -v 后面的一些参数是需要手动创建的)

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

#容器名称
--name nacos

#映射端口
-p 8848:8848

#容器网络
--network common-network

#nacos日志打印路径
-v /home/demo/mydata/nacos/logs

#配置文件映射路径
-v /home/demo/mydata/nacos/init.d/custom.properties

custom.properties 配置文件内容

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

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://IP:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456

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/co
nsole/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

启动后你会发现nacos也被注册到了那个网络里面了 这个时候nacos容器和mysql容器相互就产生了联系

Linux:docker 安装nacos并配置数据库详细_第3张图片

 进入nacos容器内部 修改一下配置

#进入容器命令
docker exec -it nacos bash

#修改配置文件
vi conf/application.properties

Linux:docker 安装nacos并配置数据库详细_第4张图片

修改完成后 退出nacos容器并且重启nacos容器

#重启nacos命令
docker restart nacos

打开浏览器访问nacos Web端

http://ip:8848/nacos/index.html
nacos/nacos(用户名密码)

Linux:docker 安装nacos并配置数据库详细_第5张图片

 添加的配置信息可在数据库中下面那张表中看到

Linux:docker 安装nacos并配置数据库详细_第6张图片

补充两个命令

#创建自定义网络命令
docker network create 名称

#删除自定义网络命令
docker network rm  名称

 

你可能感兴趣的:(Nacos,docker,容器)