开发机连接Docker中的redis容器小案例

麦洛 等级 729 0 0

开发机连接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 拉取镜像有时会遇到困难,此时可以配置镜像加速器。国内很多云服务商都提供了国内加速器服务,例如:

由于镜像服务可能出现宕机,建议同时配置多个镜像。各个镜像站测试结果请到 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

开发机连接Docker中的redis容器小案例

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

开发机连接Docker中的redis容器小案例

3.5 测试redis是否正常

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

开发机连接Docker中的redis容器小案例

3.6 修改redis配置文件

vim基本操作

# 本来
bind 127.0.0.1
protected-mode yes

#更改为
# bind 127.0.0.1
protected-mode no
requirepass milo
daemonize no

重启redis容器 开发机连接Docker中的redis容器小案例

四.宿主主机连接redis

4.1 客户端工具连接测试

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

开发机连接Docker中的redis容器小案例

使用RedisDesktopManager工具测试

开发机连接Docker中的redis容器小案例

4.2 开发机连接测试

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

开发机连接Docker中的redis容器小案例

五.总结

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

关于作者

笔者麦洛是java开发者和技术爱好者,目前关注javaSpring、微服务、云原生方向。为了将内容精准推给喜欢我的小伙伴,在大家建议下开通了公众号。喜欢的小伙伴可以关注我,第一时间获取文章信息。也可以后台回复加群加入交流群,大家一起进步!谢谢大家对我的支持。

开发机连接Docker中的redis容器小案例

收藏
评论区

相关推荐

开发机连接Docker中的redis容器小案例
在笔者日常开发中,都是把redis装在windows系统中。虽然可以通过RedisDesktopManager等客户端工具连接操作redis,但是还是
Docker 使用超详细 (精通级)
_关于 Docker 的入门使用请点击:[Docker 使用超详细(入门级)](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fblog.csdn.net%2Fqq_37384271%2Farticle%2Fdetails%2F108775179),本文是针对 Docker 的提升学习,达到
Docker 列出镜像
要想列出已经下载下来的镜像,可以使用 `docker image ls` 命令。 $ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE redis l
Docker 安装 Redis
docker pull redis 从官网获取 [redis.conf](https://www.oschina.net/action/GoToLink?url=http%3A%2F%2Fdownload.redis.io%2Fredis-stable%2Fredis.conf) 配置文件  ,保存至:/data/redis/redis.conf
Docker 安装redis
1.下载redis镜像 docker pull redis 2.远行redis docker run -p 6379:6379 -v ~/PROJECTS/redis/data:/data --name some-redis -d redis redis-server /data/conf/redis.conf 3.进入redis
Docker+Jenkins 搭建多版本php环境
![](https://oscimg.oschina.net/oscnet/up-70715a63a162a2c6dd9863bf0f09388c6d3.png) 这几天刚刚搭建了一个小项目的服务器,使用了docker +( jenkins,nginx,php-fpm,mysql,redis) 的组合,今天总结一下。 Docker 确实已经出来很久了,连
DockerToolbox在Win7上的安装和设置
为什么使用Docker Toolbox ------------------- Docker在Windows上使用有两种方式,一是利用VirtualBox建立linux虚拟机,在linux虚拟机中安装docker服务端和客户端,二是利用Windows的Hyper-v虚拟化技术,直接在Windows上安装docker服务端和客户端。WIndows7不支持Hy
Docker下redis的主从配置
1、拉取redis镜像 docker pull redis 2、启动3个redis容器服务,分别使用到6379、6380、6381端口 docker run --name redis-6379 -p 6379:6379 -d redis docker run --name redis-6380 -p 6380:6379 -d redis
Docker入门教程
一、Docker是啥 ========== Docker是什么?官方的解释是:轻量级的操作系统虚拟化解决方案 看概念还是比较抽象,直接看个例子吧:我要在centos上安装一个软件,例如redis或者mysql。以前的做法:1、下载tar;2、解压;3、修改配置文件;4、启动。有了Docker之后呢,一个命令:`docker run --name red
Docker基础(1) 原理篇
* Docker是什么 * Docker的构成 * Docker的分层和写时拷贝策略 * Docker与主流虚拟机的区别 * Docker镜像与容器的关系 * 镜像的变更管理 ### Docker是什么 Docker是一个开源的应用容器引擎。它的理念是“Buildonce, Run anywhere, Configure once
Docker安装redis操作命令
最近学习了redis,那么今天我们来学习以下在Docker上安装我们的redis,并查看有关redis的一系列命令 查找redis docker search redis 拉取redis docker pull redis 查看镜像 docker images
Docker搭建redis
环境准备 系统:centos7.7 192.168.33.14 192.168.33.15 192.168.33.16  端口号:6381 6382 一.搭建redis集群(以下步骤在每台服务器上都要执行) 1.>安装docker yum -y install docker systemctl start dockersystemct
Docker的基础命令
前言 == 最近在学习docker,以下是我整理的一些docker的基础命令,欢迎小伙伴们在评论补充! **curl -fsSL https://get.docker.com/ | sh  安装** **yum -y install docker 安装(版本较老)** **systemctl start docker 启动docker** **s
SpringBoot缓存篇Ⅱ
**一.Redis环境搭建** 系统默认是使用ConcurrentMapCacheManager,然后获取和创建ConcurrentMapCache类型的缓存组件,再将数据保存在ConcurrentMap中 开发中使用缓存中间件:redis,memcached,ehcache **1.搭建redis环境** 在linux上安装redis(推荐使用do
SpringBoot缓存篇Ⅱ
**一.Redis环境搭建** 系统默认是使用ConcurrentMapCacheManager,然后获取和创建ConcurrentMapCache类型的缓存组件,再将数据保存在ConcurrentMap中 开发中使用缓存中间件:redis,memcached,ehcache **1.搭建redis环境** 在linux上安装redis(推荐使用do