1.Docker拉取镜像
docker pull redis
2.Docker挂载配置文件
创建挂载文件夹
mkdir -p /home/redis/data
下载默认配置文件
redis.conf
3.启动redis 容器
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name redis -v /home/redis/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 000415
–restart=always 总是开机启动
–log是日志方面的
-p 6379:6379 将6379端口挂载出去
–name 给这个容器取一个名字
-v 数据卷挂载
/home/redis/myredis/myredis.conf:/etc/redis/redis.conf 这里是将 liunx 路径下的myredis.conf 和redis下的redis.conf 挂载在一起。
/home/redis/myredis/data:/data 这个同上
-d redis 表示后台启动redis
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/home/redis/myredis/myredis.conf
–appendonly yes 开启redis 持久化
–requirepass 000415 设置密码 (如果你是通过docker 容器内部连接的话,就随意,可设可不设。但是如果想向外开放的话,一定要设置,我被搞过,可以看这篇文章“阿里云服务器中毒‘Kirito666’经历”)
4.测试
docker exec -it redis redis-cli
auth 密码
5.扩展
使用nginx代理redis
vi /etc/nginx/nginx.conf
#redis代理 与http需同级别
upstream redis {
server 192.168.0.214:6379;
}
server {
listen 7820;# 反向代理后监听的端口
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass redis;
}
配置远程可连接
vi /etc/redis/redis.conf
找到bind的地址127.0.0.1改成 0.0.0.0
docker restart redis