docker安装nginx代理nacos2.1.2版本集群
创始人
2024-03-23 06:14:07
0

目录

安装docker最新版本

创建一个docker network,使之固定docker局域ip

 docker安装mysql主从

 配置挂载的my.cnf配置文件

进入mysql主数据库容器命令

登录主数据库创建用于从数据连接主数据的账号密码 

输入show master status;查看master数据库状态

在从数据库使用start slave;

搭建nacos集群

安装nginx代理nacos

在宿主机挂载nginx的配置文件nginx.conf

创建并启动nginx容器

最后访问nginx的地址


安装docker最新版本

yum install docker-ce -y

创建一个docker network,使之固定docker局域ip

docker network create --subnet=172.19.0.0/16 -d bridge mynet

 docker安装mysql主从

1、拉取镜像
sudo docker pull mysql:8.0.242、创建两个目录,主mysql_first,从mysql_second3、先启动一个镜像,使用下面的命令把my.cnf复制出来保存在上面两个目录下的conf目录下面
docker cp 容器id:/etc/mysql/my.cnf 宿主机目录 4、docker安装mysql集群节点1启动命令:
sudo docker run -itd --net mynet --ip 172.19.0.11 --name mysql_first --restart=always -v $PWD/mysql-first/conf/my.cnf:/etc/mysql/my.cnf -v $PWD/mysql-first/data:/var/lib/mysql -v $PWD/mysql-first/logs:/logs -e MYSQL_ROOT_PASSWORD=root666 -p 13301:3306 mysql:8.0.245、docker安装mysql集群节点2启动命令:
sudo docker run -itd --net mynet --ip 172.19.0.12 --name mysql_second --restart=always -v $PWD/mysql-second/conf/my.cnf:/etc/mysql/my.cnf -v $PWD/mysql-second/data:/var/lib/mysql -v $PWD/mysql-second/logs:/logs -e MYSQL_ROOT_PASSWORD=root666 -p 13302:3306 mysql:8.0.24

 配置挂载的my.cnf配置文件

####修改mysql_first下的my.cnf,添加以下内容server-id=100
log-bin=master-bin #开启二进制文件
binlog-ignore-db=information_schema    #不同步的二进制数据库名,如果不设置可以将其注释掉;
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
binlog-ignore-db=sys-------------------------------------------------------------------------------------------
###修改mysql_second下的my.cnf,添加以下内容## 设置server_id,注意要唯一
server-id=101  
## 开启二进制日志功能,以备Slave作为其它Slave的Master时使用
log-bin=slave-bin   
## relay_log配置中继日志
relay_log=/var/lib/mysql/relay.log  
read_only=1  ## 设置为只读,该项如果不设置,表示slave可读可写

进入mysql主数据库容器命令

#进入容器命令
docker exec -it 容器id bin/bash#连接mysql命令
mysql -u root -p root666

登录主数据库创建用于从数据连接主数据的账号密码 

CREATE USER 'second'@'%' IDENTIFIED WITH mysql_native_password BY 'second';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'second'@'%';

输入show master status;查看master数据库状态

然后在同样上面进入从数据 开启主从复制

change master to master_host='172.19.0.11',master_user='second',master_password='second',master_port=3306,master_log_file='master-bin.000001',master_log_pos=683,master_connect_retry=30

在从数据库使用start slave;

开启主从同步

下载nacos的2.1.2的数据库脚本在主数据库创建库nacos_config,执行sql脚本初始化数据

https://github.com/alibaba/nacos

搭建nacos集群

1、拉取nacos镜像
docker pull nacos:v2.1.22、创建三个nacos容器节点3、安装启动第一个nacos容器
sudo docker run -itd --name nacos_01 --net mynet --ip 172.19.0.21 --restart=always -e PREFER_HOST_MODE=ip -e MODE=cluster -e NACOS_SERVERS="172.19.0.22:8848 172.19.0.23:8848" -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=172.19.0.11 -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_DB_NAME=nacos_config -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=root666 -e MYSQL_SLAVE_SERVICE_HOST=172.19.0.12 -e MYSQL_SLAVE_SERVICE_PORT=3306 -e MYSQL_DATABASE_NUM=2 -e JVM_XMS=256m -e JVM_XMX=512m -e JVM_XMN=256m -p 18801:8848 nacos/nacos-server:v2.1.24、安装启动第二个nacos容器
sudo docker run -itd --name nacos_02 --net mynet --ip 172.19.0.22 --restart=always -e PREFER_HOST_MODE=ip -e MODE=cluster -e NACOS_SERVERS="172.19.0.21:8848 172.19.0.23:8848" -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=172.19.0.11 -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_DB_NAME=nacos_config -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=root666 -e MYSQL_SLAVE_SERVICE_HOST=172.19.0.12 -e MYSQL_SLAVE_SERVICE_PORT=3306 -e MYSQL_DATABASE_NUM=2 -e JVM_XMS=256m -e JVM_XMX=512m -e JVM_XMN=256m -p 18802:8848 nacos/nacos-server:v2.1.25、安装启动第三个nacos容器
sudo docker run -itd --name nacos_03 --net mynet --ip 172.19.0.23 --restart=always -e PREFER_HOST_MODE=ip -e MODE=cluster -e NACOS_SERVERS="172.19.0.21:8848 172.19.0.22:8848" -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=172.19.0.11 -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_DB_NAME=nacos_config -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=root666 -e MYSQL_SLAVE_SERVICE_HOST=172.19.0.12 -e MYSQL_SLAVE_SERVICE_PORT=3306 -e MYSQL_DATABASE_NUM=2 -e JVM_XMS=256m -e JVM_XMX=512m -e JVM_XMN=256m -p 18803:8848 nacos/nacos-server:v2.1.2

安装nginx代理nacos

1、拉取nginx镜像
docker pull nginx:1.22

在宿主机挂载nginx的配置文件nginx.conf

代理内容如下:

user  nginx;
worker_processes  auto;error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {include       /etc/nginx/mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;upstream nacos_services {server 172.19.0.21:8848;server 172.19.0.22:8848;server 172.19.0.23:8848;}server {listen 80;server_name localhost;location /nacos {proxy_set_header Host $host;proxy_pass http://nacos_services;}}sendfile        on;#tcp_nopush     on;keepalive_timeout  65;#gzip  on;include /etc/nginx/conf.d/*.conf;
}

创建并启动nginx容器

sudo docker run -itd --restart=always --name nginx_01 --net mynet --ip 172.19.0.80 -v $PWD/nginx.conf:/etc/nginx/nginx.conf -p 18848:80 nginx:1.22

最后访问nginx的地址

http://你的ip:18848/nacos

 

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...