Docker Centos安装Redis以及问题处理
之前一篇文章 Redis安装及主从配置 介绍了redis的安装配置,另一篇文件介绍了 Docker Centos安装Openssh 。今天将两篇文件结合一下——在Docker Centos环境下搭建redis缓存数据库。
Redis安装及主从配置 中执行到 “2.2.4启动 redis 服务” 即可认定为redis环境搭建完毕。但是要在docker容器中搭建这些东西就不这么容易了。比如你的容器中要存在make、g++、autoconfig等环境,但是仔细想想,这些编译需要的环境在真正运行的时候并没有什么O用。所以我们今天不用这种方式搭建。我们用的方式如下:
1、在docker宿主机上,按照Docker Centos安装Openssh,搭建Docker centos ssh 环境
2、在普通Linux服务器上,按照Redis安装及主从配置 执行到 “2.2.4启动 redis 服务”
3、将上一步生成的文件夹 /usr/local/webserver/redis 拷贝到Docker centos ssh 环境中,并未可执行文件赋权限
4、编写开机启动脚本
[root@redis /]# vi /run.sh
#!/bin/bash
/usr/local/webserver/redis/start.sh
/usr/sbin/sshd -D
OK,就这么简单的完成了。
另外想分享一个我遇到的问题,创建了redis容器之后,在宿主机上对容器进行重启的过程中,如果redis数据库在进行读写任务的话,重新启动的容器有可能无法启动redis服务。具体报错如下:
[root@redis redis]# /usr/local/webserver/redis/redis-server /usr/local/webserver/redis/conf/redis.conf
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 2.6. (/) bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in stand alone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port:
| `-._ `._ / _.-' | PID: 42
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-' [] Jul ::30.511 # Server started, Redis version 2.6.
[] Jul ::30.511 # WARNING overcommit_memory is set to ! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
[] Jul ::30.511 # Wrong signature trying to load DB from file
[] Jul ::30.511 # Fatal error loading the DB: Invalid argument. Exiting.
分析原因是redis在操作数据文件时被强制停止,导致数据文件不完整、格式正确。
解决方法:
删除/usr/local/webserver/redis/db/ 文件夹下的 *.rdb 文件,重启redis容器即可
Docker Centos安装Redis以及问题处理的更多相关文章
- 在CentOS上通过Docker方式安装Redis
在CentOS上通过Docker方式安装Redis 首先保证已经安装docker. 拖拽redis镜像 docker pull redis 启动redis docker run -p 6379:637 ...
- centos安装redis及php-redis扩展
centos安装redis及php-redis扩展 Linux, WEB 七162012 今天公司同事要求在测试机上安装redis,并且要求让php安装上redis的扩展,redis是一个key-v ...
- Docker Centos安装Mysql5.6
之前一篇随笔<Docker Centos安装Openssh> 写的是如何在基础的centos镜像中搭建ssh服务,在此基础上再搭建其他服务.本文继续介绍在centos_ssh基础上搭建my ...
- docker 中安装 redis
使用以下命令在Docker Hub搜索Redis镜像docker search redis 使用以下命令拉取镜像,Redis的镜像docker pull redis:latest 使用以下命令查看,本 ...
- 转载:centos安装redis
转载自:https://www.cnblogs.com/renzhicai/p/7773080.html CentOS下Redis的安装 [TOC] 前言 安装Redis需要知道自己需要哪个版本,有针 ...
- 虚拟机centos 安装 redis 环境 linux 使用 java 远程连接 redis
redis官网地址:http://www.redis.io/ 最新版本:2.8.3 在Linux下安装Redis非常简单,具体步骤如下(官网有说明): 1.下载源码,解压缩后编译源码. $ wget ...
- Docker - CentOS 安装 Docker 和 Docker-Compose
目录 介绍 Docker Docker-Conpose 安装 Docker CE 系统要求 使用 YUM 安装 配置加速器 安装 Docker-Compose 介绍 Docker Docker 是一个 ...
- linux环境部署,docker如何安装redis
安装步骤 1. 安装Redis 通过docker search redis和docker pull redis下载redis镜像 2. 新建挂载配置文件夹 新建data和conf两个文件夹,位置随意. ...
- [Linux.centOS].安装Redis 腾讯云
环境 { "服务器运营商":"腾讯云", "操作系统":"CentOS 7.5 64位", "CPU" ...
随机推荐
- ASP.NET IIS发布WebService成功了,但是不显示参数界面
当您尝试从远程计算机访问 Web 服务时,不会显示“调用”按钮.并且,您会收到以下错误信息: The test form is only available for requests from the ...
- 使用Proj.Net创建空间参考
在RGEOS项目中,投影变换是通过Proj.Net来实现的. 支持的投影主要包括AlbersProjection.TransverseMercator.Mercator.Krovak.Lambert ...
- iOS 可延展视图(点击前显示部分文字,点击后显示全部)
#import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicat ...
- iOS TPKeyboardAvoiding自动识别键盘的高度
#import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicatio ...
- InitializingBean afterPropertiesSet
package org.test.InitializingBean; import org.springframework.context.support.ClassPathXmlApplicatio ...
- lua对模块接口扩展的一种方法
module lua中模块的实现,对于使用者来说就是一个库,引用此库后,可以调用库中实现的任意函数. 使用库,可以将一类功能相关的接口做封装,并提供开放接口. 参考: http://blog.codi ...
- C# 匿名方法
每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默.我眼中的程序员大多都不 ...
- linux下gcc默认搜索头文件及库文件的路径
一.头文件gcc 在编译时如何去寻找所需要的头文件:※所以header file的搜寻会从-I开始※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC ...
- 反射认识_03_改变成员变量Fields
包01:package ReflectionChange; public class ReflectionPoint_AB { String str1="access"; Stri ...
- 怎样解决MySQL数据库主从复制延迟的问题---流行网站的解决办法(转载)
像Facebook.开心001.人人网.优酷.豆瓣.淘宝等高流量.高并发的网站,单点数据库很难支撑得住,WEB2.0类型的网站中使用MySQL的 居多,要么用MySQL自带的MySQL NDB Clu ...