拉取最新版本的 Redis 镜像:
shell
$ sudo docker pull redis:latest
在本地预先创建好 data
目录和 conf/redis.conf
文件。
使用以下命令来运行 Redis 容器:
shell
$ sudo docker run -itd --name redis --privileged=true -p 6379:6379 -v /home/ubuntu/docker/redis/data:/data -v /home/ubuntu/docker/redis/conf/redis.conf:/etc/redis/redis.conf docker.io/redis:latest
-itd
(以交互的方式,新建一个模拟终端运行容器)-i
(在后台运行容器,并且打印容器ID)-t
(分配一个伪TTY)-d
(保持STDIN打开状态)
--name
(给容器起一个名字方便管理)--privileged=true
(使容器内的 root 拥有真正的 root 权限)-p 6379:6379
(将容器的6379端口映射到主机的6379端口)-v /home/ubuntu/docker/redis/data:/data
(文件挂载目录)-v /home/ubuntu/docker/redis/conf/redis.conf:/etc/redis/redis.conf
(配置文件路径)
通过 docker ps
命令查看容器的运行信息:
shell
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6a634e5b2f60 redis:latest "docker-entrypoint.s..." 4 minutes ago Up 4 minutes 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp redis
使用以下命令查看和设置密码:
shell
$ sudo docker exec -it redis redis-cli
$ 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) ""
$ 127.0.0.1:6379> config set requirepass 连接Redis的密码
OK
$ 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "连接Redis的密码"
如果抛出 Wrong signature trying to load DB from file
异常, 删除数据文件:
shell
$ sudo rm redis/data/dump.rdb