1.在有外网的机器下运行一下命令下载Redis镜像
sudo docker pull redis:5.0.14
2.将镜像保存到磁盘备用
sudo docker save -o /usr/local/redis5.0.14.tar redis:5.0.14
3.
加载镜像
sudo docker load -i /usr/local/redis5.0.14.tar
运行容器
sudo docker run –name=redis –volume=/home/leopold/data/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf –volume=/home/leopold/data/redis/data:/data -p 6379:6379 –detach=true redis:5.0.14 redis-server /usr/local/etc/redis/redis.conf –appendonly yes –requirepass “123456”
# 添加开机启动
sudo docker update –restart=always redis
4.修改密码
sudo docker exec -it redis /bin/bash
cd /usr/local/bin
redis-cli
输入 auth 123456
查看密码
config get requirepass
设置密码
config set requirepass 123

解释

-d 以守护线程的方式运行(后台运行)
-i 以交互模式运行容器
-t 为容器重新分配一个伪输入终端
-p 映射容器服务的 6379 端口到宿主机的 6379 端口。外部可以直接通过宿主机ip:6379 访问到 Redis 的服务。

//未加-it可能会运行不起来因为,Docker容器后台运行,就必须有一个前台进程,容器运行的命令不是那些一直挂起的命令(比如运行top,tail),会自动退出

-v /usr/local/docker/redis.conf:/etc/redis/redis.conf //把宿主机配置好的redis.conf挂载到容器内的指定位置

-v /usr/local/docker/data:/data //把redis持久化的数据挂载到宿主机内,做数据备份

redis-server /etc/redis/redis.conf //使redis按照redis.conf的配置启动

–appendonly yes //redis启动后数据持久化