1、Docker搜索redis镜像
docker search redis
2、Docker拉取镜像
docker pull redis
3、创建目录文件
cd ~
mkdir redis
cd redis
mkdir data
touch redis.conf
ps :
redis.conf配置文件下载位置
http://www.redis.cn/download.html?spm=a2c6h.12873639.article-detail.8.3e981aa6XLvL88
4、配置redis.conf
主要修改配置的如下:
bind 127.0.0.1
#注释掉这部分,使redis可以外部访问
daemonize no
#用守护线程的方式启动
requirepass 你的密码
#给redis设置密码
appendonly yes
#redis持久化 默认是no //启动不了就将这行注释试试
tcp-keepalive 300
#防止出现远程主机强迫关闭了一个现有的连接的错误 默认是300
5.启动redis 容器
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /root/redis/myredis.conf:/etc/redis/redis.conf -v /root/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 000415
–restart=always 总是开机启动
–log是日志方面的
-p 6379:6379 将6379端口挂载出去
–name 给这个容器取一个名字
-v 数据卷挂载
/root/redis/myredis.conf:/etc/redis/redis.conf 这里是将 liunx 路径下的myredis.conf 和redis下的redis.conf 挂载在一起。
/root/redis/data:/data 这个同上
-d redis 表示后台启动redis
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/root/redis/myredis.conf
–appendonly yes 开启redis 持久化
–requirepass 000415 设置密码 (如果你是通过docker 容器内部连接的话,就随意,可设可不设。但是如果想向外开放的话,一定要设置,我被搞过,可以看这篇文章“阿里云服务器中毒‘Kirito666’经历”)
6、成功界面
7、测试
ps:此处 --since 30m 是查看此容器30分钟之内的日志情况。
docker logs --since 30m myredis
8、容器内部测试
进入容器
docker exec -it myredis redis-cli
进入之后,我直接输入查看命令:
error是没有权限验证。(因为设置了密码的。)
验证密码:
auth 密码
查看当前redis有没有设置密码:(得验证通过了才能输入的)
config get requirepass