1. 获取 Redis 镜像
docker pull redis:7.4
如果不加版本号默认获取最新版。
获取之后,可以查看已获取的镜像。
docker images
2. Docker挂载配置文件
接下来就是要将redis 的配置文件进行挂载,以配置文件方式启动redis 容器。(挂载:即将宿主的文件和容器内部目录相关联,相互绑定,在宿主机内修改文件的话也随之修改容器内部文件)
2.1 创建挂载目录
mkdir -p /user/lzl/tool/docker/redis/redis_7.4/home/conf
mkdir -p /user/lzl/tool/docker/redis/redis_7.4/home/data
2.2 将一个 redis.conf 文件拷贝到挂载目录中
配置文件可以从 tar.gz
中获得——tar.gz下载
windows版地址——windows版下载
获取之后,通过 Xftp 直接上传到挂载目录即可。
2.3 修改配置文件
2.3.1 注释掉 bind 127.0.0.1 允许 Redis 外地连接
vim +88 redis.conf
2.3.2 daemonize no
将daemonize yes注释起来或者 daemonize no设置,因为该配置和docker run中-d参数冲突,会导致容器一直启动失败。
vim +310 redis.conf
2.3.3 设置密码
# ndbb3877**&*###@
vim +1050 redis.conf
2.3.4 开启redis数据持久化 appendonly yes 可选
vim +1398 redis.conf
2.3.5 关闭保护模式 否则只允许本地访问
vim +112 redis.conf
3. 启动 Redis 容器
docker run -d --name redis_7.4 --privileged=true \
-p 6379:6379 \
-v /user/lzl/tool/docker/redis/redis_7.4/home/conf/redis.conf:/etc/redis/redis.conf \
-v /user/lzl/tool/docker/redis/redis_7.4/home/data:/data \
redis:7.4 redis-server /etc/redis/redis.conf
-p 6379:6379: 将6379端口挂载出去
--name: 给这个容器取一个名字
--privileged: 为true,container内的root拥有真正的root权,否则,container内的root只是外部的一个普通用户权限。
-v: 数据卷挂载
-d:redis 表示后台启动redis
-v /user/lzl/tool/docker/redis/redis_7.4/home/conf/redis.conf:/etc/redis/redis.conf:这里是将 liunx 路径下的 redis.conf 和redis下的 redis.conf 挂载在一起
-v /user/lzl/tool/docker/redis/redis_7.4/home/data:/data : 这里是将 liunx 路径下的 data 和redis下的 data 挂载在一起
redis-server /etc/redis/redis.conf: 以配置文件启动 redis,加载容器内的 conf 文件,
最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/user/lzl/tool/docker/redis/redis_7.4/home/conf/redis.conf
启动容器成功后,可以使用:
docker ps
查看启动的容器
4. 测试
4.1 容器内部连接进行测试
进入容器
docker exec -it <容器名> /bin/bash
例如进入我的redis容器:
docker exec -it redis_7.4 /bin/bash
redis客户端连接:
redis-cli
如果设置了密码记得输入密码:
auth password
简单命令测试:
4.2 退出容器
退出容器:两次 exit ,先退出客户端连接,再退出 redis 容器。