windows通过docker安装redis
业务需求
因为公司需要在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
浪子欢迎大家来交流计算哇~ 哈哈哈哈
转载自:https://juejin.cn/post/6901928585217441800