开发机直连 Docker 中的 Redis 容器小教程

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 开发机直连 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


image.png


三 安装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


image.png


3.5 测试redis是否正常


// 查看正在运行的容器
$ sudo docker ps  
//进入容器内部
$ sudo docker exec -it <CONTAINER ID> /bin/bash 
//退出
ctrl + D


image.png


3.6 修改redis配置文件


vim基本操作


# 本来
bind 127.0.0.1
protected-mode yes
#更改为
# bind 127.0.0.1
protected-mode no
requirepass milo


重启redis容器


image.png


四.宿主主机连接redis


4.1 客户端工具连接测试


首先,查看工具连接linuxip,笔者的如下:


image.png


使用RedisDesktopManager工具测试


image.png


4.2 开发机连接测试


首先,我们修改配置文件中redis的连接ip,然后启动项目,访问一个带有缓存的页面,我们去redis容器中看看是否有指定key


image.png


五.总结


经过上面的一顿操作,我们以后开发机直接连接redis容器,也能多熟悉linux系统,谢谢大家阅读


END



相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
14天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
56 2
|
12天前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
20天前
|
关系型数据库 MySQL API
|
16天前
|
运维 持续交付 Docker
深入理解Docker容器化技术
深入理解Docker容器化技术
|
21天前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
281 11
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
4天前
|
Kubernetes Linux 开发者
深入探索容器化技术——Docker 的实战应用
深入探索容器化技术——Docker 的实战应用
28 5
|
6天前
|
关系型数据库 MySQL Java
【Docker最新版教程】一文带你快速入门Docker常见用法,实现容器编排和自动化部署上线项目
Docker快速入门到项目部署,MySQL部署+Nginx部署+docker自定义镜像+docker网络+DockerCompose项目实战一文搞定!
|
5天前
|
开发者 Docker Python
从零开始:使用Docker容器化你的Python Web应用
从零开始:使用Docker容器化你的Python Web应用
16 1
|
11天前
|
持续交付 开发者 Docker
Docker容器化技术实战指南
Docker容器化技术实战指南
28 1
|
13天前
|
缓存 监控 开发者
掌握Docker容器化技术:提升开发效率的利器
在现代软件开发中,Docker容器化技术成为提升开发效率和应用部署灵活性的重要工具。本文介绍Docker的基本概念,并分享Dockerfile最佳实践、容器网络配置、环境变量和秘密管理、容器监控与日志管理、Docker Compose以及CI/CD集成等技巧,帮助开发者更高效地利用Docker。
下一篇
无影云桌面