4.4 多个客户端连接远端服务器
4.4.1 多个Redis客户端连接远端服务器
在本节中,将新建三个Docker容器,以此模拟三台主机.在这三个Docker容器里,包含了一个Redis服务器、两个Redis客户端,并且两个Redis客户端会连接到Redis服务器上,以此模拟两台主机上的Redis客户端远程连接到Redis服务器上的效果.具体的效果图如下图示.
两台Redis客户端远程连接到Redis服务器的效果

step1. 创建表示redis-server的容器
step2. 创建并进入Redis客户端容器,在该容器内连接redis-server
创建并进入Redis客户端容器:
注:--link选项的含义:
在Docker的早期版本中,--link选项是用来在两个容器之间建立一个链接的.这意味着从一个容器可以安全地连接到另一个容器,而无需公开任何不必要的端口到宿主机.当您使用--link选项时,Docker会在两个容器之间建立一个私有网络连接,并将链接的容器的环境变量、主机名和其他相关信息传递给源容器.这使得源容器可以轻松地发现和连接到链接的容器.
语法:--link 链接容器名称:源容器内的主机名
连接redis-server:
step3. 尝试在客户端执行命令
step4. 再打开一个cmd窗口,再创建一个redis客户端容器
4.4.2 通过docker inspect命令观察IP地址
step1. 检查redis-server容器的IP地址
可以看到,名为redis-server的容器,其IP地址为172.17.0.2
step2. 检查redis-client1容器的IP地址
可以看到,名为redis-client1的容器,其IP地址为172.17.0.3
step3. 检查redis-client2容器的IP地址
可以看到,名为redis-client2的容器,其IP地址为172.17.0.4
4.4.3 实践客户端命令
在redis-client1容器中,查看连接到Redis服务器的所有客户端信息:
从2个连接的addr和laddr属性可以看出,和上一小节中获取的容器IP地址是相同的
设置redis-client1的连接名为client1:
注:此时若在任意一个redis客户端上执行SHUTDOWN命令,则redis服务端和客户端都会关闭连接.该命令很容易造成生产事故!
4.4.4 通过info观察服务器状态
在redis-client2容器内连接redis-server后,查看服务器状态:
注:此处只查看了Stats部分的内容
在redis-client1容器中执行一些命令:
再次在redis-client2容器中查看服务器状态:
可以看到total_commands_processed配置项发生了变化
Last updated