Docker之Nacos集群部署

1、查询nacos镜像

docker search nacos

2、拉取nacos镜像

docker pull nacos/nacos-server

3、为原有Mysql容器再连接一个网络

docker network create --subnet=172.20.0.1/16 my_net

docker network connect my_net mysql

4、启动nacos1容器,使用mysql作为数据源

docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.20.0.102:18848 172.20.0.103:28848" \  [集群节点]
-e SPRING_DATASOURCE_PLATFORM=mysql \  [mysql数据源]
-e MYSQL_SERVICE_HOST=172.17.0.4 \  [mysql容器部署网段]
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \  [nacos数据库名称]
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-p 8848:8848 \  [映射端口]
-p 9848:9848 \
-p 9849:9849 \
--name nacos1 \
--net my_net \
--ip 172.20.0.101 \
--restart=always nacos/nacos-server

查看mysql容器部署网段:

docker inspect mysql

5、 查看nacos1启动日志

docker logs nacos1

若出现如下错误则修改conf/application.properties中的部分配置

docker exec -it nacos1 /bin/bash

cd conf

vi application.properties

 6、退出重启nacos1

docker restart nacos1

 7、同样方法启动nacos2、nacos3容器(注意修改application.properties中端口号)

docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.20.0.101:8848 172.20.0.103:28848" \ [集群节点]
-e SPRING_DATASOURCE_PLATFORM=mysql \ [mysql数据源]
-e MYSQL_SERVICE_HOST=172.17.0.4 \ [mysql容器部署网段]
-e MYSQL_SERVICE_PORT=3306 \ 
-e MYSQL_SERVICE_DB_NAME=nacos_config \ [nacos数据库名称]
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-p 18848:8848 \ [映射端口]
-p 19848:9848 \
-p 19849:9849 \
--name nacos2 \
--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="172.20.0.101:8848 172.20.0.102:18848" \  [集群节点]
-e SPRING_DATASOURCE_PLATFORM=mysql \  [mysql数据源]
-e MYSQL_SERVICE_HOST=172.17.0.4 \  [mysql容器部署网段]
-e MYSQL_SERVICE_PORT=3306 
-e MYSQL_SERVICE_DB_NAME=nacos_config \  [nacos数据库名称]
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-p 28848:8848 \   [映射端口]
-p 29848:9848 \
-p 29849:9849 \
--name nacos3 \
--net my_net \
--ip 172.20.0.103 \
--restart=always nacos/nacos-server

虽然我们的三台nacos搭建完成了,但是我们只有一个或者两个容器能运行,所以要完成多台同时运行,还是要借助nginx实现负载均衡。

8、Nginx实现负载均衡

mkdir -p nginx/conf 

 新建default.conf 配置文件放在conf目录中 

tream nacosList {
    server nacos1:8848 weight=1;
    server nacos2:18848 weight=1;
    server nacos3:28848 weight=1;
}

server {

    listen  80;
    server_name  www.liuniannacos.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;
    }

    location /nacos {
        rewrite ^/api/(.*)$ /$1 break;
        proxy_pass  http://tomcatList;
        proxy_redirect default;
    }

}

9、 创建nginx容器

docker run -itd \
--name nginx \
-v /soft/nginx/conf:/etc/nginx/conf \
-p 80:80 \
--net my_net \
nginx

10、修改要映射的域名

本机的C:\Windows\System32\drivers\etc目录下输入虚拟机IP以及域名

当我们创建并运行完nginx容器后利用可以使用自定义域名访问到说明我们的域名映射和nginx容器已完成

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值