mysql安装与基本操作 拉取mysql
docker pull mysql:8.0.27
定义挂载目录mkdir -p /home/mysql/{conf,data}
配置my.cnf(windows中是my.ini)这里步骤省略
开启mysql容器(bridge)docker run -it
-p 2333:3306
–name mysql
-v /home/mysql/conf/my.cnf:/etc/my.cnf
-v /home/mysql/data:/var/lib/mysql
–privileged=true
–restart=always
-e MYSQL_ROOT_PASSWORD=root123
-d mysql:8.0.27
进入容器docker exec -it mysql bash
登录mysqlmysql -uroot -p
查看user表select host,user,authentication_string,plugin from user;
查看root权限SHOW GRANTS FOR ‘root’@‘%’;
nacos数据库配置这里用的Idea连接(navicat无法连接):
连接成功后 新建架构 运行nacos-mysql.sql脚本
nacos服务部署1.拉取镜像
docker pull nacos/nacos-server
2.启动nacos(设置启动参数)
docker run -it
-e PREFER_HOST_MODE=ip
-e MODE=standalone
-e SPRING_DATASOURCE_PLATFORM=mysql
-e MYSQL_SERVICE_HOST=172.17.0.2
-e MYSQL_SERIVCE_PORT=3306
-e MYSQL_SERVICE_DB_NAME=nacos
-e MYSQL_SERVICE_USER=root
-eMYSQL_SERVICE_PASSWORD=root123
-p 9901:8848
–name nacos
–restart=always nacos/nacos-server
注:如果出现 No Datasource Set
(1)检查ip是否对应
(2)是否在同一网段下
(3)检查数据库名称是否对应
(4)检查用户名与密码
(5)检查数据库中是否存在对应的表(是否执行脚本)
3.进行nacos数据持久化测试
浏览器访问 192.168.23.131:9901 登录nacos 新建配置text.yml
4.在控制台获得nacos配置
curl -XGET “http://ip:8848/nacos/v1/cs/configsdataId=xx.yml&group=DEFAULT_GROUP”
如图:
数据库中config_info表也会有一条数据
nacos集群搭建基于自定义网络:可以自定义ip
删除之前的容器
docker rm -f $(docker ps -aq)
重新开启mysql容器(默认的bridge网桥无法指定固定的ip,则会导致mysql服务的ip不固定,最好配置为自定义网络)
docker run -it
-p 2333:3306
–name mysql
–net mynet
–ip 172.18.1.30
-v /home/mysql/conf/my.cnf:/etc/my.cnf
-v /home/mysql/data:/var/lib/mysql
–privileged=true
–restart=always
-e MYSQL_ROOT_PASSWORD=root123
-d mysql:8.0.27
开启nacos容器
docker run -it
-e PREFER_HOST_MODE=ip
-e MODE=cluster
-e NACOS_SERVERS=“172.18.1.42:8848 172.18.1.43:8848”
-e SPRING_DATASOURCE_PLATFORM=mysql
-e MYSQL_SERVICE_HOST=172.18.1.30
-e MYSQL_SERIVCE_PORT=3306
-e MYSQL_SERVICE_DB_NAME=nacos
-e MYSQL_SERVICE_USER=root
-e MYSQL_SERVICE_PASSWORD=root123
-p 9901:8848–name nacos01
–net mynet --ip 172.18.1.41
–restart=always nacos/nacos-server
docker run -it
-e PREFER_HOST_MODE=ip
-e MODE=cluster
-e NACOS_SERVERS=“172.18.1.41:8848 172.18.1.43:8848”
-e SPRING_DATASOURCE_PLATFORM=mysql
-e MYSQL_SERVICE_HOST=172.18.1.30
-e MYSQL_SERIVCE_PORT=3306
-e MYSQL_SERVICE_DB_NAME=nacos
-e MYSQL_SERVICE_USER=root
-e MYSQL_SERVICE_PASSWORD=root123
-p 9902:8848–name nacos02
–net mynet --ip 172.18.1.42
–restart=always nacos/nacos-server
docker run -it
-e PREFER_HOST_MODE=ip
-e MODE=cluster
-e NACOS_SERVERS=“172.18.1.41:8848 172.18.1.42:8848”
-e SPRING_DATASOURCE_PLATFORM=mysql
-e MYSQL_SERVICE_HOST=172.18.1.30
-e MYSQL_SERIVCE_PORT=3306
-e MYSQL_SERVICE_DB_NAME=nacos
-e MYSQL_SERVICE_USER=root
-e MYSQL_SERVICE_PASSWORD=root123
-p 9903:8848–name nacos03
–net mynet --ip 172.18.1.43
–restart=always nacos/nacos-server
浏览器访问查看是否成功访问
怎么看集群是否搭建成功?点击集群管理–>节点列表
集群搭建成功~ 但是这三个不互通,接下来
|
|
v
反向代理(负载均衡)开启nginx容器
docker run -itd
–name nginx
–net mynet
-v /home/nginx/conf.d:/etc/nginx/conf.d
-v /home/nginx/html:/etc/nginx/html
-v /home/nginx/log:/etc/log/nginx
-p 8080:80 nginx
在/home/nginx/conf.d/default.conf中配置:
upstream nacosList { server 172.18.1.41:8848 weight=1; server 172.18.1.42:8848 weight=2; server 172.18.1.43:8848 weight=2; }
location /nacos { proxy_pass http://nacosList; }
重读配置文件
nacos -s reload
nacos集群部署OK~
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。 |
标签: #docker部署nacos集群 #删除之前的容器