docker中应用部署redis
一、在线部署
1.1 部署Redis
官网:https://hub.docker.com/_/redis
redis中文官方网站:http://www.redis.cn/download.html
搜索redis镜像 docker search redis 拉取redis镜像 docker pull redis:5.0
1.2 创建容器,设置端口映射
使用docker创建Redis容器
docker run -id --name=myredis -p 6379:6379 redis:5.0
如果要设置密码,需要加上requirepass
docker run -di --name=myredis -p 6379:6379 redis --requirepass "mypassword"
指定net网络模式
docker run -di --net="host" --name=myredis -p 6379:6379 redis
参数说明:
-p 代表端口映射,格式为宿主机映射端口:容器运行端口
也可将redis 的配置文件进行挂载,以配置文件方式启动redis 容器。
(挂载:即将宿主的文件和容器内部目录相关联,相互绑定,在宿主机内修改文件的话也随之修改容器内部文件)
1、挂载redis的配置文件
2、挂载redis 的持久化文件(为了数据的持久化)。
liunx 下redis.conf文件位置: /root/mydata/redis/conf/redis.conf
liunx 下redis的data文件位置 :/root/mydata/redis/data
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name redis -v /root/mydata/redis/conf/redis.conf:/etc/redis/redis.conf -v /root/mydata/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123456
参数说明:
–restart=always 总是开机启动
–log是日志方面的
-p 6379:6379 将6379端口挂载出去
–name 给这个容器取一个名字
-v 数据卷挂载
/root/mydata/redis/myredis/myredis.conf:/etc/redis/redis.conf 这里是将 liunx 路径下的myredis.conf 和redis下的redis.conf 挂载在一起。
/root/mydata/redis/myredis/data:/data 这个同上
-d redis 表示后台启动redis
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/root/mydata/redis/myredis/myredis.conf
–appendonly yes 开启redis 持久化
–requirepass 123456 设置密码 (如果你是通过docker 容器内部连接的话,就随意,可设可不设。但是如果想向外开放的话,一定要设置,我被搞过,可以看这
1.3 修改redis.conf
配置文件
主要配置的如下:
bind 127.0.0.1 #注释掉这部分,使redis可以外部访问 daemonize no#用守护线程的方式启动 requirepass 你的密码#给redis设置密码 appendonly yes#redis持久化 默认是no tcp-keepalive 300 #防止出现远程主机强迫关闭了一个现有的连接的错误 默认是300
修改redis的守护进程为no,不启用: config set daemonize "no" 修改redis的保护模式为no,不启用: config set protected-mode"no" 或者: config set requirepass 123 ->123是密码
远程连接:
1.windows redis-cli.exe –h [远程ip] –p [端口号] –a [密码] 2.linux redis-cli –h [远程ip] –p [端口号] –a [密码]
1.4 密码修改
1.进入redis的容器 docker exec -it 容器ID bash
2.进入redis目录 cd /usr/local/bin
3.运行命令:redis-cli
4.查看现有的redis密码:config get requirepass
5.设置redis密码config set requirepass ****(****为你要设置的密码)
6.若出现(error) NOAUTH Authentication required.错误,则使用 auth 密码 来认证密码
auth 123456
1.5 使用外部机器连接redis
在window操作系统中,找一个redis客户端进行测试
redis-cli.exe -h ip -p 6379 # 填写正确的ip
./redis-cli.exe -h 192.168.149.135 -p 6379
1.6 查看日志
docker logs -f myredis