1、Redis部署

单机部署

#下载镜像:
docker pull redis:latest
#创建redis的相关存储目录
mkdir -p  /opt/redis/conf
touch  /opt/redis/conf/redis.conf
vim    /opt/redis/conf/redis.conf
#开启密码验证(可选)
requirepass 123
#允许Redis外部连接,需要注释掉绑定的IP
#bind 127.0.0.1
#关闭保护模式(可选)
protected-mode no
#注释掉daemonize yes,或者配置成daemonize no。因为该配置和docker run中的-d参数冲突,会导致容器一直启动失败
daemonize no
#开启Redis数据持久化(可选)
appendonly yes
-------------dos2unix   /opt/radis/conf/redis.conf-------------------------
运行起来
docker run -d -p 6379:6379  --name redis  --privileged=true \
-v   /opt/redis/conf/redis.conf:/etc/redis/redis.conf \
-v   /app/redis/data:/data   redis:latest   redis-server   /etc/redis/redis.conf
--------------------------------------------------------------------------------------
安装redis
yum install epel-release
yum install redis

第十六节 常见服务部署(三)_redis

docker inspect e1bba0e22018

第十六节 常见服务部署(三)_RabbitMQ_02

redis-cli  -h 172.17.0.2  -a  123   -p  6379

第十六节 常见服务部署(三)_redis_03

第十六节 常见服务部署(三)_RabbitMQ_04

测试数据
set 1 2
get 1

第十六节 常见服务部署(三)_redis_05

第十六节 常见服务部署(三)_RabbitMQ_06

3主3从

docker pull redis:5.0.7
编辑运行多个Redis容器脚本文件

vim redis-cluster.sh
-------------------启动8001至8006合计6个redis容器-----------------------------------
for  port  in  $(seq 8001 8006);  \
do  \
mkdir  -p   /mydata/redis/node-${port}/conf
touch       /mydata/redis/node-${port}/conf/redis.conf
cat   <<   EOF   >/mydata/redis/node-${port}/conf/redis.conf
port   ${port}
cluster-enabled   yes 
cluster-config-file   nodes.conf 
cluster-node-timeout   5000
cluster-announce-ip   192.168.80.28
cluster-announce-port    ${port}
cluster-announce-bus-port   1${port}
appendonly yes
EOF
docker run   -p   ${port}:${port}    -p   1${port}:1${port}   --name  redis-${port}   \
-v    /mydata/redis/node-${port}/data:/data   \
-v   /mydata/redis/node-${port}/conf/redis.conf:/etc/redis/redis.conf   \
-d  redis:5.0.7    redis-server    /etc/redis/redis.conf;   \
done
-------------------------------------------------------------------------------------
cat  redis-cluster.sh

第十六节 常见服务部署(三)_redis_07

启动脚本
[root@lyc-80-28 ~]# . ./redis-cluster.sh

第十六节 常见服务部署(三)_redis_08

登录redis容器
docker   exec  -it   redis-8001 bash

创建redis-cluster
-----------------------
redis-cli   --cluster   \
create 192.168.80.28:8001  \
192.168.80.28:8002   \
192.168.80.28:8003   \
192.168.80.28:8004   \
192.168.80.28:8005  \
192.168.80.28:8006   \
--cluster-replicas  1


登录
redis-cli    -h 192.168.80.28    -p   8001

第十六节 常见服务部署(三)_RabbitMQ_09

第十六节 常见服务部署(三)_redis_10

8002测试数据
set 1 2
get 1
----------------------------
登录8004节点查看数据已同步复制
【注意】
只能从8001-8003这3个master节点选1个新建数据,然后查看8004-8006其中的一个slave节点核对同步复制的数据

第十六节 常见服务部署(三)_RabbitMQ_11

2、RabbitMQ部署

拉取镜像

docker  pull   rabbitmq:management

第十六节 常见服务部署(三)_RabbitMQ_12

启动容器

-------------------------------------------------------------------
docker  run  -d   --name rabbitmq  \
-p 5671:5671  \
-p 5672:5672  \
-p 4369:4369  \
-p  25672:25672  \
-p 15671:15671  \
-p 15672:15672  \
-v  /opt/rabbitmq:/var/lib/rabbitmq   rabbitmq:management
--------------------------------------------------------------------
端口说明:
4369,25672(发现&集群端口)
5672,5671(AMQP端口)
15672(web管理后台端口)【登录端口】
61613,61614(STOMP协议端口)
1883,8883(MQTT协议端口)

第十六节 常见服务部署(三)_redis_13

登录web

http://192.168.80.28:15672
用户名:guest
密码:   guest

第十六节 常见服务部署(三)_redis_14