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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介:

开发机直连 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源解释:

$ 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 /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系统,谢谢大家阅读

原文地址https://www.cnblogs.com/javazhiyin/p/12802529.html

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
3天前
|
Kubernetes Cloud Native 持续交付
云原生之旅:Docker容器化与Kubernetes集群管理
【9月更文挑战第33天】在数字化转型的浪潮中,云原生技术如同一艘航船,带领企业乘风破浪。本篇文章将作为你的航海指南,从Docker容器化的基础讲起,直至Kubernetes集群的高级管理,我们将一起探索云原生的奥秘。你将学习到如何封装应用、实现环境隔离,以及如何在Kubernetes集群中部署、监控和扩展你的服务。让我们启航,驶向灵活、可伸缩的云原生未来。
|
6天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker与Kubernetes入门
【9月更文挑战第30天】在云计算的浪潮中,云原生技术正以前所未有的速度重塑着软件开发和运维领域。本文将通过深入浅出的方式,带你了解云原生的核心组件——Docker容器和Kubernetes集群,并探索它们如何助力现代应用的构建、部署和管理。从Docker的基本命令到Kubernetes的资源调度,我们将一起开启云原生技术的奇妙之旅。
|
10天前
|
Cloud Native 持续交付 Docker
云原生技术入门与实践:Docker容器化部署示例
【9月更文挑战第25天】在数字化转型的浪潮下,云原生技术成为推动企业创新的重要力量。本文旨在通过浅显易懂的语言,为初学者揭示云原生技术的核心概念及其应用价值。我们将以Docker容器为例,逐步引导读者了解如何将应用程序容器化,并在云端高效运行。这不仅是对技术趋势的跟随,更是对资源利用和开发效率提升的探索。
30 4
|
7天前
|
Cloud Native 持续交付 Docker
深入解析Docker容器化技术及其在生产环境中的应用
深入解析Docker容器化技术及其在生产环境中的应用
10 0
|
8天前
|
存储 Kubernetes Docker
深入探索容器化技术:Docker 实战与 Kubernetes 管理
深入探索容器化技术:Docker 实战与 Kubernetes 管理
23 0
|
9天前
|
Docker 容器
6-16|docker怎么把容器内的文件传出来
6-16|docker怎么把容器内的文件传出来
|
10天前
|
运维 监控 Docker
掌握 Docker Compose:简化你的多容器应用部署
在微服务架构和容器化技术日益普及的今天,管理多个容器的部署和运维变得颇具挑战。Docker Compose 通过一个 YAML 文件定义和运行多容器 Docker 应用,极大地简化了这一过程。本文介绍了 Docker Compose 的基本概念、使用方法及其优势,包括简化配置、一键部署、易于版本控制和环境一致性。通过具体示例展示了如何安装 Docker Compose、创建 `docker-compose.yml` 文件并管理服务。掌握 Docker Compose 可显著提高开发效率和应用运维质量。
|
17天前
|
负载均衡 网络协议 开发者
掌握 Docker 网络:构建复杂的容器通信
在 Docker 容器化环境中,容器间的通信至关重要。本文详细介绍了 Docker 网络的基本概念和类型,包括桥接网络、宿主网络、覆盖网络和 Macvlan 网络等,并提供了创建、管理和配置自定义网络的实用命令。通过掌握这些知识,开发者可以构建更健壮和灵活的容器化应用,提高应用的可扩展性和安全性。
|
15天前
|
Linux iOS开发 Docker
Docker:容器化技术的领航者 —— 从基础到实践的全面解析
在云计算与微服务架构日益盛行的今天,Docker作为容器化技术的佼佼者,正引领着一场软件开发与部署的革命。它不仅极大地提升了应用部署的灵活性与效率,还为持续集成/持续部署(CI/CD)提供了强有力的支撑。
198 69
|
16天前
|
运维 Cloud Native Docker
云原生技术入门:Docker容器化实战
【9月更文挑战第20天】本文将引导你走进云原生技术的世界,通过Docker容器化技术的实战演练,深入理解其背后的原理和应用。我们将一起探索如何在云平台上利用Docker简化部署、扩展和管理应用程序的过程,并揭示这一技术如何改变现代软件的开发和运维模式。
下一篇
无影云桌面