• 开发机直连 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

    开发机直连 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

    重启redis容器

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

    四.宿主主机连接redis

    4.1 客户端工具连接测试

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

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

    使用RedisDesktopManager工具测试

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

    4.2 开发机连接测试

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

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

    五.总结

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

  • 相关阅读:
    Oracle基础 (十二)数学函数
    Oracle基础 (十一)字符串函数
    Oracle基础(十) DML数据操作
    Oracle 常用命令大全
    Oracle 常用的SQL语法和数据对象
    Server.MapPath()
    登陆sharepoint的主页,提示:文件存在(异常来自 HRESULT:0x80070050)
    如何查看电脑的开机时间
    SQL 2008登录的域账户与数据库服务器不再同一个域的 处理方法
    发布MVC项目到服务器上时候遇到的 模块 DirectoryListingModule 通知 ExecuteRequestHandler 处理程序 StaticFile 错误代码 0x00000000
  • 原文地址:https://www.cnblogs.com/javazhiyin/p/12802529.html
Copyright © 2020-2023  润新知