因为公司需要在windows server上面部署项目,项目需要使用redis.浪子就风风火火的准备开干了.跑到redis官网去下载redis的时候, 傻眼了! redis没有Windows版本!!!WTF!!! 无奈之下,浪子在网上搜索了一番,发现有一个非官方的redis.就是这个: github.com/MicrosoftAr… . 但是这个版本又太低了, 而且有好久没有更新了.悲伤~

无奈之下, 浪子只能曲线救国了~

Windows安装docker, 然后docker上面安装redis

既然鲁迅确定了, 就开干吧!

Windows安装docker

不得不说, Windows作为服务器,还是有很多不便的地方.最开始的时候, 我使用Windows的官方文档安装docker,一路顺畅.安装完成后准备安装redis的时候...

no matching manifest for windows/amd64 10.0.17763 in the manifest list entries

这个错大致就是说docker不匹配Windows版本. 崩溃~

然后在网上找到了解决方法, but...

but在我通过Windows官方文档安装的docker根本就没有鲸鱼图标哇.WTF!!!

再次无奈之下, 我又在docker官网下载了Windows的安装版本.安装好后终于有图标了, thanks god

通过上面的方式我在次去下载安装redis的时候...再次出现了刚刚的错误, 妈呀~~~

我再次在上午寻求解决方法, 然后看到了一个修改docker下载源的配置, 我想着为了下载快一点就配置了 "registry-mirrors" : [ "https://registry.docker-cn.com" , "http://hub-mirror.c.163.com" , "https://docker.mirrors.ustc.edu.cn" "insecure-registries" : [ ] , "debug" : false , "experimental" : true , "features" : { "buildkit" : true

然后我再次去安装的时候, 居然就对了, 哈哈哈哈哈

说了这么一大堆, 下面就是docker安装redis的正常教程了

docker安装redis

  • docker查询redis镜像,使用starts最多的一个, 一般就是第一个
  • docker search redis
    
  • 拉取redis镜像
  • docker pull redis
    

    这里我没有加redis版本号, 就是拉取最新的redis镜像 (没有截图)

  • 查看docker镜像
  • docker images
    这里可以看到我们已经成功拉取了redis镜像

  • 启动redis镜像 无配置文件启动
  • docker run -p 6379:6379 -d redis:latest redis-server
    

    这种方式启动后, 数据全部是放在docker的, 如果docker删除了, 数据就丢了.所以生产环境一般建议将redis的配置和数据映射到本地, 下面是另一个启动方式

    从官网下载redis.conf文件

    将redis.conf放在本地的一个目录,比如: D:/redis. 并对文件做一下修改:

    修改启动默认配置(从上至下依次):

    bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
    protected-mode no #默认yes,开启保护模式,限制为本地访问
    daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败
    databases 16 #数据库个数(可选),我修改了这个只是查看是否生效。。
    dir  ./ #输入本地redis数据库存放文件夹(可选)
    appendonly yes #redis持久化(可选)
    requirepass  密码 #配置redis访问密码
    

    在D:/redis目录下面新建data目录,用于存储redis数据

    启动redis镜像(配置和数据映射到本地)

    docker run -d --name redis-server -p 6379:6379 -v D:/redis:/etc/redis -v D:/redis/data/:/data redis:latest /etc/redis/redis.conf --appendonly yes --requirepass "123456"
    

    ps: 上面的命令里面,第一个-v是将redis.conf映射到docker的redis配置,第二个-v是将redis存储数据做映射.这里:前面的路径都是本地的路径,不要弄错了

  • 查看redis进程
  • docker ps
    
  • 通过 redis-cli 连接测试使用 redis 服务 第一步:连接到docker的redis镜像
  • docker exec -it redis-server /bin/bash   进入docker终端,在终端中输入:redis-cli
    

    ps: 这里的redis-server就是上面docker ps命令里面的names

    第二步:连接redis服务器(如果有密码, 就加上-a这个参数)

    redis-cli -a 123456
    

    到这里,我们的redis就安装成功了.可以测试一下 set get数据.

    ps:安装过程中,如果发现容器启动失败,使用docker logs查看容器日志 本例中docker容器名为redis,查看日志命令为:docker logs -f -t --tail 100 redis

    浪子欢迎大家来交流计算哇~ 哈哈哈哈

    分类:
    后端
    标签: