开发机直连 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
系统,谢谢大家阅读
开发机直连 Docker 中的 Redis 容器小教程的更多相关文章
- C#.Net Core 操作Docker中的redis数据库
做软件开发的人,会在本机安装很多开发时要用到的软件,比如数据库,有MS SQL Server,MySQL,等,如果每种数据库都按照在本机确实有点乱,这个时候我们就想用虚拟机来隔离,这样就不会扰乱本机一 ...
- nopCommerce 3.9 大波浪系列 之 使用部署在Docker中的Redis缓存主从服务
一.概述 nop支持Redis作为缓存,Redis出众的性能在企业中得到了广泛的应用.Redis支持主从复制,HA,集群. 一般来说,只有一台Redis是不可行的,原因如下: 单台Redis服务器会发 ...
- 在docker中部署redis主从配置
环境说明: 阿里云服务器 Ubuntu 16.04 docker 1.拉取Redis镜像 docker pull redis 2.配置Redis启动配置文件,此处我创建一个专用目录,存放Redis相关 ...
- 从零开始学习docker之在docker中搭建redis(集群)
docker搭建redis集群 docker-compose是以多容器的方式启动,非常适合用来启动集群 一.环境准备 云环境:CentOS 7.6 64位 二.安装docker-compose #需要 ...
- docker上构建redis容器
1.查看docker上的镜像 [root@holly ~]# docker images 2.搜索docker上的redis镜像,选择下载的版本 [root@holly ~]# docker sear ...
- docker 中安装 redis
使用以下命令在Docker Hub搜索Redis镜像docker search redis 使用以下命令拉取镜像,Redis的镜像docker pull redis:latest 使用以下命令查看,本 ...
- docker 中运行 redis 服务
先使用 dockerfile 创建一个 redis 容器 FROM ubuntu:latest RUN apt-get update RUN apt-get -y install redis-serv ...
- Docker中使用redis
项目中频繁使用Redis,为了不用每次打开Redis目录去启动Redis想到了Docker可以作为Redis的容器 直接下载使用就行 把Docker使用Redis的过程分享下: 1. 拉取 ...
- Java 开发 2.0: 现实世界中的 Redis
原文地址:http://www.ibm.com/developerworks/cn/java/j-javadev2-22/ 之前,我已在本系列中讨论过 NoSQL 的概念,也介绍了一些与 Java 平 ...
随机推荐
- YII2自动初始化脚本
#!/usr/bin/expect spawn ./init expect "Which environment do you want the application to be init ...
- 30款Django 常用的软件包
30款Django 常用的软件包 Django是一款高级的Python Web框架,可以帮助开发者快速创建web应用.我们这里整理了30款Django开发中常用的软件包,学会使用它们可以节省大量开发时 ...
- 《深入理解 Java 虚拟机》读书笔记:线程安全与锁优化
正文 一.线程安全 当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那 ...
- supervisor 的使用 (fastcgi管理)
本文主要介绍 supervisor 对 fastcgi 进程的管理 fastcgi 进程的管理 在php 中,php-fpm 有主进程来管理和维护子进程的数量.但是并不是所有的服务都有类似的主进程来做 ...
- 运输问题中产销不平衡问题(表上作业法和LINGO方法)
对于产销不平衡问题有两种情况: 供大于求(产大于销)→增加虚拟销地 供不应求(产小于销)→增加虚拟产地 例如以下例题: 这个题中,总产量为55,总销量为60,故而我们知道这个问题属于供不应求. 1.这 ...
- Three.js 中的参数调试控制插件dat.GUI.JS - [Three.js] - [dat.GUI]
不论是处于特殊功能的需要,还是处于效果调试方便,我们可能都需要修改模型中的参数值.在Three.js中,谷歌提供了一个js库,即dat.GUI.js用于处理这种需求. 通过该库,我们就不需要通过手动修 ...
- Light of future-冲刺Day 5
目录 1.SCRUM部分: 每个成员进度 SCRUM 会议的照片 签入记录 代码运行截图 用户浏览界面 订单详情界面 管理员浏览界面 新增后台界面 2.PM 报告: 时间表 燃尽图 任务总量变化曲线 ...
- 云计算介绍、TCP/IP协议及配置
云计算介绍.TCP/IP协议及配置 1案例1:配置计算机名及工作组 1.1问题 本例要求为修改计算机名并加入工 ...
- 查找 mysql 配置文件 my.cnf
$ locate my.cnf 看看你的linux上有多少个my.cnf,一般都配置为/etc/my.cnf
- scratch中如何实现面向鼠标指针的相反方向?
你可以试试设置面向鼠标指针,然后再角色进行翻转,而且要是面向反方向的话,鼠标指针是自己可以调节的,面向指针也可以的 scratch学习视频 链接:https://pan.baidu.com/s/1qX ...