Docker 部署redis
一、准备redis的镜像
服务器是内网的环境下 首先现在联网环境,用docker 将redis环境先拉下来,然后将redis的镜像打包成镜像包,然后拷贝到服务器。
如果服务器有外网,那么直接将redis镜像拉到docker 中即可
Docker拉取最新的redis命令 docker pull redis
将redis镜像打包
使用单个镜像打包命令即可 如果是从windows 拷贝到linux 需要加上-o,linux 解压镜像包时需要加上-i(耗时5秒左右)
docker save redis:latest -o redis.tar
将打包好的镜像包拷贝到服务器
解压:docker load -i redis.tar
现在查看到镜像已经成功拷贝到docker 中
启动容器
直接启动redis ,默认是以无配置文件运行
docker run -itd --name redis -p 6379:6379 redis
查看到可以成功启动
链接也正常
但这还不够,因为没有配置文件,我们没法控制redis ,密码也没有
redis.conf文件下载地址
因为redis 需要配置文件, 我们提前准备一份redis.conf (在官网下载对应redis 版本的conf 文件),然后再新建一个文件夹(data),用于存放持久化数据
配置文件需要做出更改
bind 127.0.0.1 #注释掉这部分,使redis可以外部访问
daemonize no #用守护线程方式启动 docker运行设置为no
requirepass 你的密码 #设置redis密码
appendonly yes #redis持久化 默no
创建容器
docker run -p 6379:6379 --name redis -v /home/zwf/redis/redis.conf:/etc/redis/redis.conf -v /home/zwf/redis/data:/data --name=redis -d redis redis-server /etc/redis/redis.conf
执行过后,启动失败了
查看docker 的错误日志(docker logs --tail 3000 [容器ID]),查看后3000行日志
这个提示是配置文件的版本与redis 的版本不一致导致的
我的redis 版本是6.2.6的
所以要去下载一个6.2.6版本的redis.conf
然后将服务器的conf替换了
再修改一下配置,设置一下密码
重新执行一下命令
docker run -p 6379:6379 --name redis -v /home/zwf/redis/redis.conf:/etc/redis/redis.conf -v /home/zwf/redis/data:/data --name=redis -d redis redis-server /etc/redis/redis.conf
查看进程
Redis 成功启动
成功链接,而且配置文件也成功应用上了