开发机直连 Docker 中的 Redis 容器小教程
在笔者日常开发中,都是把redis
装在windows
系统中。虽然可以通过RedisDesktopManager
等客户端工具连接操作redis
,但是还是觉得low了一些。因为作为程序员,我可能更想在Linux
系统操作redis
,这样在遇到生产环境实操时候,才不会显得束手无策。
今天它来了,我们将会在虚机中安装docker
,然后在docker
中安装redis
,最后让我们宿主机(开发机)连接到我们安装的redis
,测试能否正常使用。
因为在win7
中安装虚机不是我们这篇文章主要目的,大家可以自己搜索资料安装。
一.你需要准备什么?
-
windows7
-
VMware Workstation Pro
-
CentOS 7.0
-
MobaXterm_Personal
Docker CE 支持 64 位版本 CentOS 7
,并且要求内核版本不低于 3.10。 CentOS 7
满足最低内核的要求,但由于内核版本比较低,部分功能(如 overlay2
存储层驱动)无法使用,并且部分功能可能不太稳定。
其中,我是用前三个搭建Linux
工作环境,用MobaXterm_Personal
工具连接操作Linux
系统.如果你有一套可操作的Linux
工作环境,完全可以跳过这一步;
二.安装Docker
2.1 卸载旧版本
$ sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
2.4 安装 yum
执行以下命令安装依赖包:
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
鉴于国内网络问题,强烈建议使用国内源,我们选用中科大镜像源
执行下面的命令添加 yum
软件源:放置一些类似docker软件的仓库
关于yum源,可以阅读这篇文章yum源解释:
https://blog.csdn.net/qq_41869566/article/details/79945078
$ sudo yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
2.5 安装docker
$ sudo yum install -y docker-ce docker-ce-cli containerd.io
2.6 启动docker
$ sudo systemctl start docker
2.7 配置docker国内镜像加速
国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。国内很多云服务商都提供了国内加速器服务,例如:
-
网易云加速器 `https://hub-mirror.c.163.com`
-
阿里云加速器(需登录账号获取)
由于镜像服务可能出现宕机,建议同时配置多个镜像。各个镜像站测试结果请到 docker-practice/docker-registry-cn-mirror-test 查看。
国内各大云服务商均提供了 Docker 镜像加速服务,建议根据运行 Docker 的云平台选择对应的镜像加速服务,具体请参考官方文档。
本节我们以 网易云 镜像服务 https://hub-mirror.c.163.com
为例进行介绍。
Ubuntu 16.04+、Debian 8+、CentOS 7
请在 /etc/docker/daemon.json
中写入如下内容(如果文件不存在请新建该文件)
{ "registry-mirrors": [ "https://hub-mirror.c.163.com" ] }
注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。
之后重新启动服务。
$ sudo systemctl daemon-reload $ sudo systemctl restart docker
2.8 测试docker
$ sudo docker run hello-world
三 安装redis
3.1 拉取镜像
$ sudo docker pull redis
#查看镜像
$ sudo docker images
3.2 准备目录
#进入用户根目录 $ sudo cd ~ #创建文件夹 $ sudo mkdir -p /root/Downloads/redis/conf $ sudo mkdir -p /root/Downloads/redis/data #进入到conf目录 $ sudo cd /root/redis/redis01/conf #下载一个redis.conf文件[如果太慢,直接网页下载上传到服务器目录] $ sudo wget http://download.redis.io/redis-stable/redis.conf
3.3 启动redis
因为默认镜像没有配置文件,要是宿主主机连接,我们要挂载配置文件目录
#进入这个目录 $ sudo cd /root/Downloads/redis #启动redis容器 $ sudo docker run -p 6379:6379 --privileged=true --name redis -v $PWD/conf/redis.conf:/etc/redis/redis.conf -v $PWD/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
3.4 查看正在运行的容器
$ sudo docker container ps
3.5 测试redis是否正常
// 查看正在运行的容器 $ sudo docker ps //进入容器内部 $ sudo docker exec -it <CONTAINER ID> /bin/bash //退出 ctrl + D
3.6 修改redis配置文件
vim基本操作
# 本来 bind 127.0.0.1 protected-mode yes #更改为 # bind 127.0.0.1 protected-mode no requirepass milo
重启redis
容器
四.宿主主机连接redis
4.1 客户端工具连接测试
首先,查看工具连接linux
的ip
,笔者的如下:
使用RedisDesktopManager
工具测试
4.2 开发机连接测试
首先,我们修改配置文件中redis
的连接ip
,然后启动项目,访问一个带有缓存的页面,我们去redis
容器中看看是否有指定key
五.总结
经过上面的一顿操作,我们以后开发机直接连接redis
容器,也能多熟悉linux
系统,谢谢大家阅读

《《--扫描二维码关注他!
【Java知音】公众号,每天早上8:30为您准时推送一篇技术文章
在Java知音公众号内回复“面试题聚合”,送你一份Java面试题宝典。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?