Docker部署nacos集群

Docker部署nacos集群

环境

操作系统:CentOS7.9 x86_64

IP: 192.168.123.120

本文以安装nacos2.1为例。

安装Docker

CentOS 7 安装 Docker-CE 并配置阿里云加速器

创建自定义网络

docker network create --subnet 172.19.0.0/16 nacos-net

启动容器

mysql

docker run -d --name mysqldb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.38

下载nacos初始化sql:

wget https://raw.githubusercontent.com/alibaba/nacos/develop/distribution/conf/nacos-mysql.sql

拷贝初始化sql文件到容器内:

docker cp /root/nacos-mysql.sql mysqldb:/tmp/

进入容器导入数据:

[root@localhost ~]# docker exec -it mysqldb /bin/bash
root@351af8bde3bc:/# mysql -uroot -p
mysql> create database nacos;
mysql> use nacos;
mysql> source /tmp/nacos-mysql.sql;
mysql> show tables;
+----------------------+
| Tables_in_nacos      |
+----------------------+
| config_info          |
| config_info_aggr     |
| config_info_beta     |
| config_info_tag      |
| config_tags_relation |
| group_capacity       |
| his_config_info      |
| permissions          |
| roles                |
| tenant_capacity      |
| tenant_info          |
| users                |
+----------------------+
12 rows in set (0.00 sec)

mysql> exit
Bye
root@af896bb47ae5:/# exit
exit

数据库连接信息为:

ip: 192.168.123.120

port: 3306

dbname: nacos

username: root

password: 123456

nacos1

docker run -d 
--network nacos-net --ip 172.19.0.11 --name nacos1 
-e PREFER_HOST_MODE=hostname 
-e MODE=cluster 
-e NACOS_SERVERS="172.19.0.11:8848 172.19.0.12:8848 172.19.0.13:8848" 
-e SPRING_DATASOURCE_PLATFORM=mysql 
-e MYSQL_SERVICE_HOST=192.168.123.120 
-e MYSQL_SERVICE_PORT=3306 
-e MYSQL_SERVICE_USER=root 
-e MYSQL_SERVICE_PASSWORD=123456 
-e MYSQL_SERVICE_DB_NAME=nacos 
-e NACOS_SERVER_IP=172.19.0.11 
-e JVM_XMS=256m -e JVM_XMX=512m 
-p 18848:8848 
nacos/nacos-server:v2.1.0

nacos2

docker run -d 
--network nacos-net --ip 172.19.0.12 --name nacos2 
-e PREFER_HOST_MODE=hostname 
-e MODE=cluster 
-e NACOS_SERVERS="172.19.0.11:8848 172.19.0.12:8848 172.19.0.13:8848" 
-e SPRING_DATASOURCE_PLATFORM=mysql 
-e MYSQL_SERVICE_HOST=192.168.123.120 
-e MYSQL_SERVICE_PORT=3306 
-e MYSQL_SERVICE_USER=root 
-e MYSQL_SERVICE_PASSWORD=123456 
-e MYSQL_SERVICE_DB_NAME=nacos 
-e NACOS_SERVER_IP=172.19.0.12 
-e JVM_XMS=256m -e JVM_XMX=512m 
-p 28848:8848 
nacos/nacos-server:v2.1.0

nacos3

docker run -d 
--network nacos-net --ip 172.19.0.13 --name nacos3 
-e PREFER_HOST_MODE=hostname 
-e MODE=cluster 
-e NACOS_SERVERS="172.19.0.11:8848 172.19.0.12:8848 172.19.0.13:8848" 
-e SPRING_DATASOURCE_PLATFORM=mysql 
-e MYSQL_SERVICE_HOST=192.168.123.120 
-e MYSQL_SERVICE_PORT=3306 
-e MYSQL_SERVICE_USER=root 
-e MYSQL_SERVICE_PASSWORD=123456 
-e MYSQL_SERVICE_DB_NAME=nacos 
-e NACOS_SERVER_IP=172.19.0.13 
-e JVM_XMS=256m -e JVM_XMX=512m 
-p 38848:8848 
nacos/nacos-server:v2.1.0

访问地址:

http://192.168.123.120:18848/nacos/

http://192.168.123.120:28848/nacos/

http://192.168.123.120:38848/nacos/

初始用户名:nacos

初始密码:nacos

nginx

创建本地目录:

mkdir -p /data/nginx/conf/
mkdir -p /data/nginx/logs

启动临时nginx容器,用于拷贝配置文件到本地:

docker run -d --name nginx_temp nginx

拷贝配置文件:

docker cp nginx_temp:/etc/nginx/conf.d /data/nginx/conf/

删除临时nginx容器:

docker rm -f nginx_temp

修改配置文件:

cat /data/nginx/conf/conf.d/default.conf

upstream nacos-server-cluster {
    server  192.168.123.120:18848;
    server  192.168.123.120:28848;
    server  192.168.123.120:38848;
}

server {
    listen       80;
    server_name  localhost;

    access_log  /var/log/nginx/host.access.log  main;

    location / {
        proxy_pass http://nacos-server-cluster;
    }
}

启动正式nginx容器:

docker run -d --name nginx -p 80:80 
-v /data/nginx/conf/conf.d:/etc/nginx/conf.d 
-v /data/nginx/logs:/var/log/nginx 
nginx

访问地址:

http://192.168.123.120/nacos

初始用户名:nacos

初始密码:nacos

展开阅读全文

页面更新:2024-04-22

标签:阿里   加速器   集群   初始化   容器   数据库连接   用户名   本文   操作系统   地址   初始密码

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top