目录
6.创建nacos 数据库并使用,运行nacos.sql文件
8.在nacos 网址中生成一个配置文件 在一次查询数据表中 会发现生成了一条数据
9.删除nacos 重新部署一个nacos 再次查询数据库表数据,会发现数据还在实现nacos数据的持久化
3.查看刚才部署的nacos 网络中多了一条自定义网络(网桥+自定义网络)
cd /soft
mkdir -p mysql/{conf,data,script}
cd /mysql/conf
docker run \
--name m1 \
-v /soft/mysql/conf/my.cnf:/etc/my.cnf \
-v /soft/mysql/data:/var/lib/mysql \
-v /soft/mysql/script:/script \
--privileged=true \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql/mysql-server:5.7
cd ../
cd /soft/mysql/script
docker exec -it m1 bash
mysql -uroot -p
create database nacos
use nacos
source /script/nacos/nacos-mysql.sql
grant all on *.* to dbl@'%' identified by '123456';
#进入根目录 下载nacos 镜像
docker pull nacos/nacos-server
docker run -itd \
-e PREFER_HOST_MODE-ip \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICF_HOST=172.17.0.2 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-p 8848:8848
-name nacos
--restart=always
nacos/nacos-server
-itd 中的 d表示后台运行
docker restart m1
firewall -cmd --list-port
docker logs -f nacos
docker exec -it m1 bash
use nacos
select * from config_info
docker rm -f nacos
#重新运行一个nacos
docker run -itd \
-e PREFER_HOST_MODE-ip \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICF_HOST=172.17.0.2 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-p 8848:8848 \
--name nacos \
--restart=always \
nacos/nacos-server
docker network create --subnet=172.20.0.1/16 my_net
docker network connect my_net m1
docker run -itd \
-e PREFER_HOST_MODE-ip \
-e MODE=cluster \
-e NACOS_SERVERS="nacos02:8848 nacos03:8848"
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICF_HOST=m1 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
--name nacos01 \
--net my_net \
--ip 172.20.0.101 \
-p 8848:8848 \
--restart=always \
nacos/nacos-server
standalone单例模式 被改成了cluster 说明要部署多个
docker logs nacos01
#部署第二台
docker run -itd \
-e PREFER_HOST_MODE-ip \
-e MODE=cluster \
-e NACOS_SERVERS="nacos01:8848 nacos03:8848"
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICF_HOST=m1 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
--name nacos02 \
--net my_net \
--ip 172.20.0.102 \
--restart=always \
nacos/nacos-server
#部署第三台
docker run -itd \
-e PREFER_HOST_MODE-ip \
-e MODE=cluster \
-e NACOS_SERVERS="nacos01:8848 nacos02:8848"
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICF_HOST=m1 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
--name nacos03 \
--net my_net \
--ip 172.20.0.102 \
--restart=always \
nacos/nacos-server
cd /soft
ls
mkdir nginx
cd /nginx
mkdir conf.d
cd conf.d/
upstream nacosList {
server nacos01:8848 weight=1;
server nacos02:8848 weight=2;
server nacos03:8848 weight=2;
}
server {
listen 80;
server_name www.zkingedu.com;
location /{
root /etc/nginx/html/;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location= /50x.html {
root /usr/share/nginx/html;
}
location /nacos{
proxy_pass http://nacosList;
}
}
?server nacos01:8848 weight=1;
?server nacos02:8848 weight=2;
?server nacos03:8848 weight=2;代码中的nacos 为刚才部署的三台nacos
weignt代表nginx负载均衡中的权重规则,每个都为1 代表进入的概率是相同的
docker run -itd \
--name n1 \
-v /soft/nginx/conf.d:/etc/nginx/conf.d \
-p 80:80 \
--net my_net \
nginx
效果图如下