首先从仓库拉取redis
[root@localhost dockerRedis]# docker pull redis:4.0
4.0: Pulling from library/redis
000eee12ec04: Pull complete
5cc53381c195: Pull complete
48bb7bcb5fbf: Pull complete
5b9a97d03914: Pull complete
d6523d646d59: Pull complete
d39c3cd3b264: Pull complete
Digest: sha256:6a973e4cfbbb1e6cf7687e8578e5ab2debf4938f69d7867abdb2f93867b34edf
Status: Downloaded newer image for redis:4.0
docker.io/library/redis:4.0
运行redis容器
命令:docker run -p 6379:6379 --name redis -v /dockerRedis/data:/data -d redis:4.0 --appendonly yes --requirepass "123456"
命令解释
docker run
--name redis #设置别名
-p 6379:6379 #redis端口
-v /dockerRedis/data:/data #创建容器卷,redis持久化文件会在这里
-d redis:4.0 #后台运行redis
--appendonly yes #开启持久化
--requirepass "123456" #设置redis密码,如果不设置密码,可以不写这个命令
[root@localhost dockerRedis]# docker run -p 6379:6379 --name redis -v /dockerRedis/data:/data -d redis:4.0 --appendonly yes --requirepass "123456"
a1627c89baa6f5fc9b243997dc24503c8a5441196deec93273bcb7a9860caae6
[root@localhost dockerRedis]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1627c89baa6 redis:4.0 "docker-entrypoint.s…" 12 seconds ago Up 11 seconds 0.0.0.0:6379->6379/tcp redis
用客户端链接redis
命令:docker exec -it redis redis-cli
[root@localhost dockerRedis]# docker exec -it redis redis-cli
127.0.0.1:6379> set name zhangsan
(error) NOAUTH Authentication required. #密码没有验证,无法操作
127.0.0.1:6379> auth 123456 #验证密码
OK
127.0.0.1:6379> set name zhangsan
OK
127.0.0.1:6379> get name
"zhangsan"
127.0.0.1:6379>
查看持久化文件
[root@localhost /]# cd /dockerRedis/data/
[root@localhost data]# ll
总用量 4
-rw-r--r--. 1 polkitd input 120 11月 26 17:28 appendonly.aof
[root@localhost data]# cat appendonly.aof
*2
$6
SELECT
$1
0
*3
$3
set
$4
name
$8
zhangsan
*2
$6
SELECT
$1
0
*3
$3
set
$4
name
$8
zhangsan