Docker进阶:mysql 主从复制、redis集群3主3从【扩缩容案例】
作者:mmseoamin日期:2023-12-05

Docker进阶:mysql 主从复制、redis集群3主3从【扩缩容案例】

  • 一、Docker常规软件安装
    • 1.1 docker 安装 tomcat(默认最新版)
    • 1.2 docker 指定安装 tomcat8.0
    • 1.3 docker 安装 mysql 5.7(数据卷配置)
    • 1.4 演示--删除mysql容器,里面的数据是否能正常恢复
    • 1.5 docker 安装 redis7.0.9 (数据卷配置)
    • 1.6 宿主机修改redis.conf配置文件,验证redis 容器内生效
    • 二、Docker复杂软件安装(mysql 主从复制)
      • 2.1 启动主节点容器mysql-master(3306)
      • 2.2 启动从节点容器mysql-slave(3307)
      • 2.3 主数据库建库测试
      • 2.4 从数据库验证
      • 三、Docker复杂软件安装(redis集群--3主3从--分布式存储案例)
        • 3.1 前言--数据库分区技术
        • 3.2 redis集群--3主3从搭建
        • 3.3 redis集群--主从容错切换迁移案例
        • 3.4 redis集群--读写error
        • 3.5 redis集群--主从扩容案例(4主4从)
        • 3.6 redis集群--主从缩容案例(4主4从--->3主3从)

💖The Begin💖点点关注,收藏不迷路💖

Docker进阶:mysql 主从复制、redis集群3主3从【扩缩容案例】,在这里插入图片描述,第1张

首先,确保你已经安装了Docker。

一、Docker常规软件安装

1.1 docker 安装 tomcat(默认最新版)

1、创建一个目录用于存放程序文件。
mkdir -p  /home/my-projects
2、在终端或命令行界面中执行以下命令来拉取Tomcat的Docker镜像:
[root@zyl-server ~]# docker pull tomcat
3、查看Docker中已下载的Tomcat镜像
[root@zyl-server ~]# docker images tomcat
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
tomcat       latest    fb5657adc892   20 months ago   680MB
tomcat       8.0       ef6a7c98d192   4 years ago     356MB
[root@zyl-server ~]#
4、下载完成后,通过以下命令启动Tomcat容器,将宿主机的8080端口映射到容器的8080端口:
[root@zyl-server ~]# docker run -d -p 8080:8080 -v /home/my-projects:/usr/local/tomcat/webapps --privileged=true --name my-tomcat tomcat
8419cf96aaa10b2b3590e12d7d0973343dd9ab18a066be96c07e9bfa0875f632
[root@zyl-server ~]#

参数说明:
-p 小写    主机端口:容器端口
-P 大写    随机分配端口
--name my-tomcat  指定容器的名称为my-tomcat
-it        交互式模式运行
-d         后台运行
-v /home/my-projects:/usr/local/tomcat/webapps:将宿主机当前目录下的/home/my-projects目录挂载到容器中Tomcat的webapps目录,以便可以在宿主机上访问到Tomcat中部署的应用程序。
5、查看正在运行的Docker容器列表,
该命令将列出当前正在运行的容器的详细信息,包括容器ID、镜像名称、创建时间、状态等。
如果希望查看所有包括已停止的容器,可以添加 -a 参数,即 docker ps -a
[root@zyl-server ~]# docker ps
CONTAINER ID   IMAGE     COMMAND             CREATED          STATUS          PORTS                                       NAMES
8419cf96aaa1   tomcat    "catalina.sh run"   16 seconds ago   Up 15 seconds   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   my-tomcat
[root@zyl-server ~]#
6、进入tomcat容器的命令行界面(拷贝webapps.dist下的文件到webapps---因为镜像是精简版的)
[root@zyl-server ~]# docker exec -it 8419cf96aaa1 /bin/bash
root@8419cf96aaa1:/usr/local/tomcat# cp -r webapps.dist/* webapps/
root@8419cf96aaa1:/usr/local/tomcat# ls
BUILDING.txt     LICENSE  README.md      RUNNING.txt  conf  logs            temp     webapps.dist
CONTRIBUTING.md  NOTICE   RELEASE-NOTES  bin          lib   native-jni-lib  webapps  work
root@8419cf96aaa1:/usr/local/tomcat# cd webapps
root@8419cf96aaa1:/usr/local/tomcat/webapps# ls
ROOT  docs  examples  host-manager  index.html  manager
root@8419cf96aaa1:/usr/local/tomcat/webapps#
7、容器启动后,你可以通过在浏览器中访问 http://ip:8080 来验证Tomcat是否成功安装。如果一切正常,你将看到Tomcat的欢迎页面。
[root@zyl-server home]# curl http://localhost:8080


    
        
        Apache Tomcat/10.0.14
        
                
        

上一篇:SpringBoot——拦截器

下一篇:PG常用SQL