脚本宝典收集整理的这篇文章主要介绍了Nacos 高可用环境搭建(基于Docker),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
Nacos 高可用环境 = Nacos 集群 + Nacos 持久化
参考:<( ̄︶ ̄)↗Nacos官网 - 集群部署说明
@
创建 Docker 局域网
PS C:Usersxiao> docker network create MyNetwork
56b64b706d69bf2d3b30eb6d63c94bb110c74e16febf96c1b1b0aa687cc3d493
罗列所有局域网
PS C:Usersxiao> docker network ls
NETWORK ID NAME DRIVER SCOPE
56b64b706d69 MyNetwork bridge local
e19f31ab243a bridge bridge local
09b9f7e52530 host host local
3bb55566e6c5 none null local
查看局域网详情
PS C:Usersxiao> docker network inspect MyNetwork
[
{
"Name": "MyNetwork",
"Id": "56b64b706d69bf2d3b30eb6d63c94bb110c74e16febf96c1b1b0aa687cc3d493",
"Created": "2022-01-27T11:58:16.195894307Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]
创建并启动 Nginx 容器
<( ̄︶ ̄)↗Nginx 实战 - 安装.md
将 Nginx 容器加入局域网
PS C:Usersxiao> docker network connect MyNetwork MyNginx
检查 Nginx 容器是否成功加入局域网
PS C:Usersxiao> docker network inspect MyNetwork
[
{
"Name": "MyNetwork",
"Id": "56b64b706d69bf2d3b30eb6d63c94bb110c74e16febf96c1b1b0aa687cc3d493",
"Created": "2022-01-27T11:58:16.195894307Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"9ba1cfa5e902ba3f4cfebb6404d03f8c4cbe1aa418fc4ae682722c5882c88811": {
"Name": "MyNginx",
"EndpointID": "22e350022928c6e597a0bc217b84270525ab8400bb84d04387d63632f0b028eb",
"MacAddress": "02:42:ac:12:00:02",
"IPv4Address": "172.18.0.2/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]
创建并启动 MySQL 容器
<( ̄︶ ̄)↗MySQL 实战 - 安装.md
将 MySQL 容器加入局域网
PS C:Usersxiao> docker network connect MyNetwork MyMySQL
检查 MySQL 容器是否成功加入局域网
PS C:Usersxiao> docker network inspect MyNetwork
[
{
"Name": "MyNetwork",
"Id": "56b64b706d69bf2d3b30eb6d63c94bb110c74e16febf96c1b1b0aa687cc3d493",
"Created": "2022-01-27T11:58:16.195894307Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"9ba1cfa5e902ba3f4cfebb6404d03f8c4cbe1aa418fc4ae682722c5882c88811": {
"Name": "MyNginx",
"EndpointID": "22e350022928c6e597a0bc217b84270525ab8400bb84d04387d63632f0b028eb",
"MacAddress": "02:42:ac:12:00:02",
"IPv4Address": "172.18.0.2/16",
"IPv6Address": ""
},
"45a4bca256c29842067cb324c67f3288c24b545a61cb796f4df1bfc5b1fcaae6": {
"Name": "MyMySQL",
"EndpointID": "f80a9fbd1f849a58f18b45d4d7684295e6d8e593c0b308af7215846692e2e57d",
"MacAddress": "02:42:ac:12:00:03",
"IPv4Address": "172.18.0.3/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]
创建并启动 Nacos 容器(集群模式)
<( ̄︶ ̄)↗Nacos 实战 - 安装与使用.md
docker run -itd -p 8848:8848 --env MODE=cluster --name MyNacos1 nacos/nacos-server
docker run -itd -p 8849:8848 --env MODE=cluster --name MyNacos2 nacos/nacos-server
docker run -itd -p 8850:8848 --env MODE=cluster --name MyNacos3 nacos/nacos-server
将 Nacos 容器加入局域网
docker network connect MyNetwork MyNacos1
docker network connect MyNetwork MyNacos2
docker network connect MyNetwork MyNacos3
检查 Nacos 容器是否成功加入局域网
PS C:Usersxiao> docker network inspect MyNetwork
[
{
"Name": "MyNetwork",
"Id": "56b64b706d69bf2d3b30eb6d63c94bb110c74e16febf96c1b1b0aa687cc3d493",
"Created": "2022-01-27T11:58:16.195894307Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"9ba1cfa5e902ba3f4cfebb6404d03f8c4cbe1aa418fc4ae682722c5882c88811": {
"Name": "MyNginx",
"EndpointID": "22e350022928c6e597a0bc217b84270525ab8400bb84d04387d63632f0b028eb",
"MacAddress": "02:42:ac:12:00:02",
"IPv4Address": "172.18.0.2/16",
"IPv6Address": ""
},
"45a4bca256c29842067cb324c67f3288c24b545a61cb796f4df1bfc5b1fcaae6": {
"Name": "MyMySQL",
"EndpointID": "f80a9fbd1f849a58f18b45d4d7684295e6d8e593c0b308af7215846692e2e57d",
"MacAddress": "02:42:ac:12:00:03",
"IPv4Address": "172.18.0.3/16",
"IPv6Address": ""
},
"b2268309c7e072f7212fc10efc773636676243d40067e8f4511324786701aed7": {
"Name": "MyNacos1",
"EndpointID": "2d0c0db59c5918bac6955bdc24682576d0b8301ea67097110d5a4f6a8557966e",
"MacAddress": "02:42:ac:12:00:04",
"IPv4Address": "172.18.0.4/16",
"IPv6Address": ""
},
"a07e465b71cd19c54caa26aeb58aad9714d03945d029648ec65e61affc3b1796": {
"Name": "MyNacos2",
"EndpointID": "0a5a371b04e2eb4087836a817785edaf86a356b1ad100f164328d6481a17b190",
"MacAddress": "02:42:ac:12:00:05",
"IPv4Address": "172.18.0.5/16",
"IPv6Address": ""
},
"d29eceb1c4b5d6071a8e11d75dce038f27eae5e8800cafc7cbeb97429c3d5d95": {
"Name": "MyNacos3",
"EndpointID": "79cb067cd0d3c267fc51614fc794c31d8922e334132a3ae3efaabf4dd3bb7e60",
"MacAddress": "02:42:ac:12:00:06",
"IPv4Address": "172.18.0.6/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]
注意:ping: command not found 解决:apt-get update + apt-get iputils-ping
<( ̄︶ ̄)↗Nacos实战 - 持久化.md
从 Nacos 官网获取 Nacos 数据库构建脚本,MySQL 执行脚本搭建 Nacos 数据库
进入 Nacos 实例,修改 /conf/application.properties 文件,配置 Nacos 持久化
修改 /conf/cluster.conf 配置文件,配置 Nacos 集群
重启所有 Nacos 实例
打开任意一个 Nacos 实例的控制面板,创建若干配置信息
检查配置信息是否存入数据库
打开其他 Nacos 实例的控制面板,检查是否获取到相同的配置信息
<( ̄︶ ̄)↗Nginx 实战 - 负载均衡.md
进入 Nginx 容器,配置自定义配置文件 /etc/nginx/conf.d/nacosLoadBalance.conf
upstream serverInstance {
# ip_hash;
server 172.18.0.4:8848 weight=1;
server 172.18.0.5:8848 weight=1;
server 172.18.0.6:8848 weight=1;
}
server {
listen 80;
server_name 127.0.0.1;
location ~ /nacos/ {
proxy_pass http://serverInstance;
proxy_connect_timeout 10;
}
}
修改 Nginx 配置文件,改变日志格式
log_format main '$remote_addr --"$request"--> $http_host--> $upstream_addr [$status $request_time]';
重启 Nginx
通过 Nginx 访问 Nacos 控制面板
刷新若干次后查看日志文件
172.18.0.1 --"GET /nacos/ HTTP/1.1"--> 127.0.0.1--> 172.18.0.4:8848 [200 0.012]
172.18.0.1 --"GET /nacos/ HTTP/1.1"--> 127.0.0.1--> 172.18.0.5:8848 [304 0.010]
172.18.0.1 --"GET /nacos/ HTTP/1.1"--> 127.0.0.1--> 172.18.0.6:8848 [304 0.009]
172.18.0.1 --"GET /nacos/ HTTP/1.1"--> 127.0.0.1--> 172.18.0.4:8848 [200 0.010]
172.18.0.1 --"GET /nacos/ HTTP/1.1"--> 127.0.0.1--> 172.18.0.5:8848 [200 0.010]
172.18.0.1 --"GET /nacos/ HTTP/1.1"--> 127.0.0.1--> 172.18.0.6:8848 [304 0.010]
以上是脚本宝典为你收集整理的Nacos 高可用环境搭建(基于Docker)全部内容,希望文章能够帮你解决Nacos 高可用环境搭建(基于Docker)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。