问题

项目需要在内网(不联网)进行部署我们的后端服务,框架涉及使用redis做成缓存,由于内网的系统为centos7,我们在部署的时候,遇到了编译redis6缺少环境的文件问题,后来把环境包导入内网环境后,还是存在各种依赖的缺失问题。使用了之前其他服务器部署的解决方案,虽然能解决掉服务的部署问题,但是却无法打开redis-cli,于是便使用了docker部署redis镜像,一劳永逸解决环境的问题

镜像准备

由于是内网环境,所以需要从外网导入一个redis的镜像,这里在mac下载redis最新的镜像,然后导出

安装镜像

docker search redis 寻找镜像

docker pull redis:latest 安装最新的镜像

docker images 查看镜像

导出镜像


docker save 08502081bff6> /usr/local/redis.tar

08502081bff6指的是 镜像的id

服务部署

然后将导入的tar压缩包上传至内网的服务器上

导入

docker load < /usr/local/redis/redis.tar 

使用 docker images发现镜像名称为空,需要修改进行的名称

修改镜像名称

docker tag eb40dcf64078 redis:latest

启动服务

docker run --name redis -p 6380:6379 redis-server

docker ps 查看运行的服务 

或者使用docker ps -a查看全部的部署的镜像

扩展

设置密码

由于是内网环境,一开始并没有设置密码,导致被查出弱口令的问题,所以,后面对redis设置了密码

1.进入redis的容器 docker exec -it 容器ID bash

2.进入redis目录 /usr/local/bin

3.运行命令:redis-cli

4.查看现有的redis密码:config get requirepass

5.设置redis密码config set requirepass ****(****为你要设置的密码)