赞
踩
1.可以先查看下有哪些镜像:
docker search redis
2.拉取镜像 默认最新版本--不指定就最新版本
docker pull redis
3.准备conf配置文件。可以去官网下载。 Redis configuration | Redis(建议找到自己对应的版本下载。我安装时一直启动不起来,最后换了个版本文件,就可以了。不确定是不是不同版本有不同的配置导致的)
我修改的配置只有:
1)protected-mode no,保护模式,限制为本地访问,修改后解除保护模式
2)daemonize yes 默认no 为不守护进程模式,修改为yes(宿主机启动的时候设置,docker启动不设置)
3)requirepass rootroot 设置启用密码
docker run -d -p 6379:6379 --name redis redis:latest
查看已经下载的镜像文件:
选择安装的Redis镜像来运行,执行以下命令如下:
docker run -itd --name redisNew -p 6379:6379 redis:latest --requirepass 'szj123456'
设置外围访问(有些版本默认本地访问)执行如下命令:
docker run -itd --name redisTest -p 6377:6377 redis:latest --requirepass 'szj123456' --bind 0.0.0.0 --daemonize NO --protected-mode no
在上面的命令中,包含以下配置信息介绍:
-i | 以交互模式运行容器,通常与 -t 同时使用; | |
-t | 为容器重新分配一个伪输入终端,通常与 -i 同时使用; | |
-d | 后台运行容器,并返回容器ID; | |
-name | 为容器指定一个名称(redisNew) | |
-p | 指定端口映射,格式为:主机(宿主)端口:容器端口 | |
redis:latest | 运行已安装版本latest,也可以指定已下载的其他镜像,如:6.0-rc2-buster | |
--requirepass | 配置密码(szj123456) | |
protected-mode | 关闭保护模式。protected-mode 修改为no | |
bind 0.0.0.0 | 相当于注释掉配置本地的绑定bind 127.0.0.1,如何IP都可以访问 |
执行结果:
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /opt/myredis/redis.conf:/etc/redis/redis.conf -v /opt/myredis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass rootroot
说明:
-p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。
--log 日志相关
--name redis 指定该容器名称,查看和进行操作都比较方便。
-v 挂载文件或目录 :前表示主机部分(必须为绝对路径),:后表示容器部分。
/opt/myredis/redis.conf:/etc/redis/redis.conf 挂载我的配置文件
/opt/myredis/data:/data 挂载redis的数据路径
-d redis 表示后台启动redis
redis-server /etc/redis/redis.conf 指定配置文件的路径。/etc/redis/redis.conf指的是容器内的文件路径,对应的宿主机的路径要根据挂载卷的路径找到。我的宿主机路径就是/opt/myredis/redis.conf
–appendonly yes 开启redis 持久化
–requirepass rootroot 设置密码为rootroot
1.查看容器启动状态
docker ps -a
2.进入容器
docker exec -it 容器id redis-cli #调用客户端
3.操作redis,直接操作会提示权限验证。因为我们redis设置了密码,需要先进行校验。使用 【auth 密码】 进行验证。
set name tom
若需要远程连接访问redis,需修改conf文件。
1)注释掉本地的绑定。bind 127.0.0.1
2)关闭保护模式。protected-mode 修改为no。
至此完成redis安装及配置。conf的文件里有许多的配置选项,可以自己学习。
1、删除容器
1)首先需要停止所有的容器
docker stop $(docker ps -a -q)
2)删除所有的容器(只删除单个时把后面的变量改为container id即可)
docker rm $(docker ps -a -q)
3)重启Docker
systemctl restart docker
如果本篇文章对你有帮助的话,很高兴能够帮助上你。
当然,如果你觉得文章有什么让你觉得不合理、或者有更简单的实现方法又或者有理解不来的地方,希望你在看到之后能够在评论里指出来,我会在看到之后尽快的回复你。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。