这两年 Docker 比较火,很多大厂都在使用。这里记录一下 Cent OS 中使用 Docker 安装 Redis 并启动、连接的过程。
建议切换 root 用户进行以下操作
¶一、安装 Redis
¶1、查找镜像
在 Docker Hub 官网查找自己需要的版本 https://hub.docker.com/_/redis?tab=tags
¶2、下载镜像
我选择的是 7.0.5:
1 | docker pull redis:7.0.5 |
¶3、创建项目文件夹并进入
本地创建一个文件夹用来存放 Redis 的配置文件、日志以及数据等(挂载目录,作用是将此目录中的文件或文件夹覆盖掉容器内部的文件或文件夹),可跳过
。
1 | mkdir -p /mnt/docker/redis/conf |
¶二、运行 Redis
¶1、使用镜像创建容器并运行
1 | docker run -p 9736:6379 -d --name docker-redis -v $PWD/conf/redis.conf:/etc/redis/redis.conf -v $PWD/logs:/logs -v $PWD/data:/data -d redis:7.0.5 redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123456 |
指令解释:
-p
表示端口映射,-p 宿主机port:容器port
-d
表示后台运行并返回容器 id,只有在父进程即 docker 进程退出的时候才会去把容器退出,除非你使用了--rm
选项。如果你在运行容器时将-d
和--rm
两个选项一起使用,那么容器会在退出或者后台进程停止的的时候自动移除掉(只要一个情况便会自动移除镜像)--name
表示给容器指定的名称d redis
表示后台启动 Redis-v $PWD/conf/redis.conf:/etc/redis/redis.conf
表示将主机上当前目录下的 conf/my.cnf 文件挂载到容器的 /etc/redis/redis.conf-v $PWD/logs:/logs
表示将主机上当前目录下的 logs 目录挂载到容器的 /logsappendonly yes
开启 Redis 持久化--requirepass 123456
需要密码,auth
可以不挂载文件夹
1 | docker run -p 9736:6379 -d --name docker-redis -d redis:7.0.5 redis-server --appendonly yes --requirepass 123456 |
¶2、进入容器
1 | docker exec -it docker-redis redis-cli |
¶3、输入密码
1 | auth 123456 |
¶4、查看当前密码
1 | config get requirepass |
¶5、重新设置密码
1 | config set requirepass abcd |