docker 下搭建redis

docker 下搭建redis怕时间久了忘记了 记录下

1.安装环境

这是是在Centos7进行安装
CentOS 7安装docker要求系统为64位、系统内核版本为 3.10 以上,可以使用以下命令查看

uname -r 

在这里插入111描述

2.yun安装docker

2.1 查看是否已安装docker列表

yum list installed | grep docker

在这里插入图片描述
我这里是安装后写文章 所以这里有
2.2 安装docker

yum -y install docker  -y表示不询问安装,直到安装成功,安装完后再次查看安装列表
 

2.3 启动docker

chkconfig docker on  # 加入开机启动
systemctl start docker # 启动docker

2.4 查看docker服务状态

systemctl status docker

在这里插入图片描述
以上说明docker安装成功

3.开始在 安装redis

3.1搜索镜像

docker search redis

在这里插入图片描述

 拉取官方的镜像:会自动拉取stars标星最多的镜像    docker pull redis

这里也可以选择版本我这里是用的4.0

docker pull redis:4.0  #根据自己需求选择不通版本

3.2 查看对应的镜像

 docker images

在这里插入图片描述

3.3 使用docker安装redis,挂载外部配置 数据 日志(这个是重点)

3.3.1.配置需要挂载的地址

/home/dockerredis/conf/redis.conf  ##配置文件地战
/home/dockerredis/data              ##数据存放位置
/home/dockerredis/log/redis.log     ##数据存放位置(这里日志的配置后面会讲)

3.3.2容器启动

docker run --name mydockerredis  -p 9380:6379 -v /home/dockerredis/conf/redis.conf:/etc/redis/redis.conf -v /home/dockerredis/data:/data  -v /home/dockerredis/log/redis.log:/opt/redis.log -d redis:4.0 redis-server /etc/redis/redis.conf

命令解析:
  --name mydockerredis : 指定容器名称
   -p 9380:6379 : 指定端口映射,默认redis启动的是6379,至于外部端口不冲突就行。
  --v /home/dockerredis/conf/redis.conf:/etc/redis/redis.conf : 将主机中当前目录下的redis.conf配置文件映
  -v /home/dockerredis/data:/data: 将主机中当前目录下的data挂载到容器的/data
  -v /home/dockerredis/log/redis.log:/opt/redis.log 将主机中当前目录下的log挂载到容器的/log

重点来 重点来了(我这里卡了很久)

日志的外挂相对于 配置和数据要麻烦点

1. 新建一个/home/dockerredis/log/redis.log的文件
 sudo touch /home/dockerredis/log/redis.log
 
2.修改日志文件redis.log的权限
 chmod 777 /home/dockerredis/log/redis.log
 
3.修改/home/dockerredis/conf/redis.conf
 logfile /opt/redis.log ##添加这一句 

然后启动

docker run --name mydockerredis  -p 9380:6379 -v /home/dockerredis/conf/redis.conf:/etc/redis/redis.conf -v /home/dockerredis/data:/data  -v /home/dockerredis/log/redis.log:/opt/redis.log -d redis:4.0 redis-server /etc/redis/redis.conf

这里数据的持久化以及其他配置我都是放配置文件里面的

这里就算配置完成了 如果启动出现下面的提示

The TCP backlog setting of 511 cannot be enforced because
/proc/sys/net/core/somaxconn is set to the lower value of 128

直接修改宿主机的somaxconn参数,并设置 sysctl.conf 的 somaxconn全部不行。
又尝试在宿主机中修改somaxconn参数依然不行 最后我尝试在创建容器的时候修改somaxconn参数,还是不行

解决方案

–sysctl net.core.somaxconn=1024 ##启动容器加入这句

如下

docker run --name mydockerredis --sysctl net.core.somaxconn=1024 -p 9380:6379 -v /home/dockerredis/conf/redis.conf:/etc/redis/redis.conf -v /home/dockerredis/data:/data  -v /home/dockerredis/log/redis.log:/opt/redis.log -d redis:4.0 redis-server /etc/redis/redis.conf

这样就OK了? 如果有出现下面问题 继续看吧

下面是我遇见的问题

WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

第一种方法
执行echo 511 > /proc/sys/net/core/somaxconn


 
第二种方法 vi /etc/sysctl.conf
添加 net.ipv4.conf.default.accept_source_route = 1
保存,然后

sysctl -p

大家在搭建过程有时间不是一帆风顺的 
记录下命令

docker stop 容器ID ##停止容器
docker rm 容器ID ##删除容器
docker restart 服务名称 ##重新启动容器
docker inspect 镜像ID  ##查询镜像内容
docker rmi 镜像ID ##删除镜像
docker ps -a ##查看所以容器
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值