一、Docker搜索redis镜像
命令:docker search <镜像名称>
docker search redis
docker pull redis
#若不加版本号默认下载最新版
三、Docker挂载配置文件
接下来就是要将redis 的配置文件进行挂载,以配置文件方式启动redis 容器。(挂载:即将宿主的文件和容器内部目录相关联,相互绑定,在宿主机内修改文件的话也随之修改容器内部文件)
1)、挂载 redis 的配置文件
2)、挂载 redis 的持久化文件(为了数据的持久化)。
本人的配置文件是放在
liunx 下redis.conf文件位置: /usr/local/redis/conf/
执行
mkdir -p /usr/local/redis/conf/
touch /usr/local/redis/conf/redis.conf
liunx 下redis的data文件位置 : /usr/local/redis/data/
docker run --restart=always -p 6379:6379 --name redis -v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf -v /usr/local/redis/data:/data --privileged=true -d redis redis-server /etc/redis/redis.conf
--restart=always 总是开机启动
--log是日志方面的
-p 6379:6379 将6379端口挂载出去
--name 给这个容器取一个名字
-v 数据卷挂载
- /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf 这里是将 liunx宿主机 路径下的redis.conf 和redis下的redis.conf 挂载在一起。
- /usr/local/redis/data:/data 这个同上
-d redis 表示后台启动redis
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/usr/local/redis/conf/redis.conf
–appendonly yes 开启redis 持久化
–requirepass 000415 设置密码 (如果你是通过docker 容器内部连接的话,就随意,可设可不设。但是如果想向外开放的话,一定要设置
--privileged=true 使用该参数,container内的root拥有真正的root权限。
否则,container内的root只是外部的一个普通用户权限,例如这里用到挂在目录存放数据需要权限
若redis启动失败,查看日志 若出现
chown: changing ownership of '.': Permission denied
则是挂在目录权限不足
需要在创建容器的时候加上参数--privileged=true,上面有写
进入redis容器查看是否没问题
完成