docker部署redis记录,楼主亲测无异常

简介: docker部署redis记录,楼主亲测无异常


image.png

项目中使用redis很常见,所以安装redis是每个小伙伴都应该熟练的技能。

这里定义两个概念 ,请记住。

  1. 宿主:你正在操作的linux系统(或是云服务器或者是实体服务)
  2. 容器:也就是在docker中虚拟出来的linux

1.安装redis

1.拉取镜像

这里也可以加上版本号,如果不加,默认最新。

1. docker pull redis
2. 复制代码

2.查看本地镜像

查看本地镜像是否成功。

1. docker images
2. 复制代码

image.png

3.修改配置

在linux新建任意一文件夹,这里楼主新建了/usr/local/redis 。在官网或者其他redis工程中,获取redis.conf,并以下配置修改好的后放入上文新建的文件夹中。

1. #bind 0.0.0.0 #带bind的注释掉
2. protected-mode yes #开启密码 云服务上一定要开启密码,防火墙 不信你就试试!!!!!
3. daemonize no  #一定改为no 否则redis不能启动 而且没有日志!!!!!!!!!!
4. requirepass 123 #密码
5. 复制代码

4.新建数据文件夹

新建/usr/local/docker/data文件夹,放置容易映射过来的数据(对应着下文参数,可以修改,如果修改自己对应一下)

docker容器会与宿主机建立连接,然后将数据同步到宿主机中,这样就不用每次都进入docker容器操作文件了。

下图为安装后,宿主映射出来的文件数据。

image.png

5.运行容器

1. docker run -p 6379:6379 --name redis -v /usr/local/redis/redis.conf:/etc/redis/redis.conf  -v /usr/local/docker/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes 
2. 复制代码

命令中的文件夹路径是可以更改的,请按照个人环境自行修改。

6.命令解释

  • -p 6379:6379:第一个6379是宿主机的端口,第二个6379是reids容器的向外提供的端口。这个意思也就是宿主使用6379端口接收redis容器6379发出的请求。
  • --name redis :容器名称
  • -v /usr/local/redis/redis.conf:/etc/redis/redis.conf :将上文指定宿主/usr/local/redis/redis.conf文件映射到容器的/etc/redis/redis.conf
  • -v /usr/local/docker/data:/data :将容器的数据映射过来
  • -d redis redis-server /etc/redis/redis.conf :将容器下/etc/redis/redis.conf文件作为容器redis的配置启动项
  • --appendonly yes :标识开启持久化 这里只是演示可以通过这种方式设置参数

7.查询运行信息

1. docker ps
2. 复制代码

image.png

2.常见异常

1. changing ownership of '.': Permission denied或者chmod: changing permissions of'/var/lib/postgresql/data': Permission denied
2. 复制代码

以上错误时执行 -v /usr/local/redis/redis.conf:/etc/redis/redis.conf 出现的,因为docker容器没有宿主机的权限所以报错!

结论

关闭SELinux

1. getenforce #查看SELinux状态 permissive关闭状态 enforcing开启状态
2. setenforce 0 #临时关闭 
3. setenforce 1 #临时开启 
4. 
5. //永久关闭
6. 修改 /etc/selinux/config
7. SELINUX=enforcing改为SELINUX=disabled


相关文章
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
4688 4
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
572 5
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
3209 8
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
|
缓存 NoSQL Java
Redis+Caffeine构建高性能二级缓存
大家好,我是摘星。今天为大家带来的是Redis+Caffeine构建高性能二级缓存,废话不多说直接开始~
1988 0
|
缓存 负载均衡 监控
135_负载均衡:Redis缓存 - 提高缓存命中率的配置与最佳实践
在现代大型语言模型(LLM)部署架构中,缓存系统扮演着至关重要的角色。随着LLM应用规模的不断扩大和用户需求的持续增长,如何构建高效、可靠的缓存架构成为系统性能优化的核心挑战。Redis作为业界领先的内存数据库,因其高性能、丰富的数据结构和灵活的配置选项,已成为LLM部署中首选的缓存解决方案。
1126 25
|
存储 缓存 NoSQL
Redis专题-实战篇二-商户查询缓存
本文介绍了缓存的基本概念、应用场景及实现方式,涵盖Redis缓存设计、缓存更新策略、缓存穿透问题及其解决方案。重点讲解了缓存空对象与布隆过滤器的使用,并通过代码示例演示了商铺查询的缓存优化实践。
537 1
Redis专题-实战篇二-商户查询缓存
|
缓存 运维 监控
Redis 7.0 高性能缓存架构设计与优化
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Redis 7.0高性能缓存架构,探索函数化编程、多层缓存、集群优化与分片消息系统,用代码在二进制星河中谱写极客诗篇。
2120 3