1. 拉取镜像

docker pull redis

2. 创建挂在目录

mkdir -p /home/redis/data

3. 准备redis配置文件

#在/home/redis下存放redis.conf文件,配置文件可从官网下载。#redis.conf需要改动四个配置

daemonize no                       #用守护线程的方式启动

requirepass yourpassword   #给redis设置密码

bind 192.168.1.1                  #注释掉这部分,这是限制redis只能本地访问

appendonly yes                   #redis 持久化

4. 启动redis

docker run -d -v /home/redis/redis.conf:/usr/local/etc/redis/redis.conf -p 6379:6379 --name redis --privileged=true -v /home/redis/data:/data redis redis-server /usr/local/etc/redis/redis.conf

#命令说明:

--name redis : 指定容器名称,这个最好加上,不然在看docker进程的时候会很尴尬。

-p 6379:6379 : 端口映射,默认redis启动的是6379,至于外部端口,随便玩吧,不冲突就行。

-v /home/redis/redis.conf:/usr/local/etc/redis/redis.conf : 将主机中当前目录下的redis.conf配置文件映射。

-v /home/redis/data:/data -d redis : 将主机中当前目录下的data挂载到容器的/data

--redis-server --appendonly yes :在容器执行redis-server启动命令,并打开redis持久化配置(如果redis.conf已改,这段可取消)

#注意事项:

如果不需要指定配置

-v /home/redis/redis.conf:/usr/local/etc/redis/redis.conf 可以不用 ,

redis-server 后面的那段 /usr/local/etc/redis/redis.conf 也可以不用。

5. 如果报错

Error response from daemon: driver failed programming external connectivity on endpoint redis

解决:重启docker===>>>systemctl restart docker

6. 防火墙设置

#添加(--permanent永久生效,没有此参数重启后失效)

firewall-cmd --zone=public --add-port=6379/tcp --permanent

#重新载入

firewall-cmd --reload

#查看

firewall-cmd --list-ports

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐