Docker 启动redis指定配置文件
一.docker中安装好redis后如下,我安装的是reidis5.0.5版本二.指定redis.conf 启动docker run -p 6379:6379 --name iredis -v /home/docker/redis/config/redis.conf:/etc/redis/redis.conf -v /home/docker/redis/data:/data -d redis...
一.docker中安装好redis后如下,我安装的是reidis5.0.5版本

二.到redis官网下载一份redis.conf,放到指定目录
redis.conf
放到自己指定的目录:
/home/docker/redis/config
三.指定redis.conf 启动
docker run -p 6379:6379 --name iredis -v /home/docker/redis/config/redis.conf:/etc/redis/redis.conf -v /home/docker/redis/data:/data -d redis:5.0.5 redis-server /etc/redis/redis.conf --appendonly yes

三 参数说明
注意:在docker中启动redis一定要把:daemonize 设置为 no,这个很重要,如果不是no docker会一直启动失败,原因是docker本身需要后台运行,而这个配置选项也是以守护进程启动,两者会冲突
1.-p 6379:6379:
第一个端口是宿主机端口(服务器端口),第二个端口是容器端口(容器是一个个沙箱外部不不能访问的),将容器的6379端口映射到宿主机的6379端口上,这样可以通过访问宿主机6379来访问redis;
2.–name iredis:
容器的名字 iredis 方便以后操作容器(docker start iredis ;docker stop iredis 等等);
3.-v /home/docker/redis/config/redis.conf:/etc/redis/redis.conf:
挂载持久化配置
/home/docker/redis/config/redis.conf :是宿主机(服务器)你自己的redis.conf文件路径
/etc/redis/redis.conf : 容器内部的redis.conf文件路径,不用手动创建,容器启动时会把上边宿主机的redis.conf自动映射到改目录下. 这样在修改redis.conf文件时候就不用进入到容器内部去修改了
4.-v /home/docker/redis/data:/data:
挂载持久化文件
/home/docker/redis/data是宿主机中持久化文件的位置,/data是容器中持久化文件的位置
5.-d :
后台启动
6.redis:5.0.5 redis-server /etc/redis/redis.conf:
redis:5.0.5 是镜像的名称+版本如下
7.redis-server /etc/redis/redis.conf
指定用配置文件的方式启动redis
8. –appendonly yes 开启持久化
四.进入到容器内部验证下是否生成 redis.conf 和 data持久化文件呢?
# 查看下正在运行的docker容器
[root@instance-f4khj00x /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2ac032107e05 redis:5.0.5 "docker-entrypoint.s…" 11 minutes ago Up 11 minutes 0.0.0.0:6379->6379/tcp iredis
# 进入到容器内部
[root@instance-f4khj00x /]# docker container exec -it 2ac032107e05 /bin/bash
# 进入刚配置的容器目录 /etc/redis/redis.conf
root@2ac032107e05:/data# cd /etc/redis/
root@2ac032107e05:/etc/redis# ls
redis.conf
# 进入持久化目录data
root@2ac032107e05:/etc/redis# cd /data/
root@2ac032107e05:/data# ls
appendonly.aof backup.db dump.rdb root
更多推荐



所有评论(0)