mkdir /docker/redis/{conf,data}
然后从下面地址拷贝redis.conf上传至 /docker/redis/conf 目录http://download.redis.io/redis-stable/redis.conf
将protected-mode 修改为 no,默认为yes 开启保护模式
将bind 127.0.0.1注释掉 或改为0.0.0.0
允许外部访问 将daemonize 改为no 关闭守护进程方式启动,
改为 yes 使用外部配置文件会启动失败
docker run -d \--privileged=true \-p 6379:6379 \--restart always \-v /docker/redis/conf/redis.conf:/etc/redis/redis.conf \-v /docker/redis/data:/data \--name myredis redis redis-server /etc/redis/redis.conf \--appendonly yes \--requirepass 123456
参数说明:
参数说明
--privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限-d:后台启动-p 16379:6389:将宿主机的16379端口和容器的6389端口进行映射关联,外界可以通过访问宿主机的16379访问到容器的6389端口,这里由于我配置了redis的启动端口为6389所以这里容器需要通过6389才能找到redis;-v /docker/redis/conf:/etc/redis/conf:映射规则宿主机目录:容器目录,这里挂载的是整个文件夹目录不是配置文件,千万别弄错了,我们这里就是把我们存放配置文件的目录和容器中我们准备存放配置文件的目录进行了一个挂载映射,这样我们修改外置配置文件并且重新启动容器以后就会挂载外面的配置文件了,注意:外置目录最好事先准备好-v /docker/redis/data:/etc/redis/data:这个就和上面一样了--name myredis:给容器起个名字[唯一]redis: 指定镜像名称redis-server /etc/redis/conf/redis.conf:指定使用哪个配置文件启动redis容器,注意这里填写的是你挂载进去以后,配置文件所在的容器内部位置--appendonly yes:开启数据持久化