【运维】docker-compose部署redis

news/2024/9/23 6:27:06/

部署Redis使用docker-compose是一种简便且流行的方式。以下是基本的docker-compose.yml文件示例,用于部署单节点Redis服务

方案一

直接使用docker安装单机版
创建.env环境文件并配置管理密码

echo 'REDIS_PWD=redis123456' > .env

创建docker-compose.yml环境文件

## docker-compose config                  ## 检查当前目录docker-compose.yml文件配置是否正确
## docker-compose up -d                   ## -d 为后台启动
## docker-compose up -d --force-rereate  ## 强制重新创建容器,修改挂载文件后使用该命令启动,谨慎使用,调试时可使用,使用此命令可能造成数据丢失version: "3"
services:redis:image: redis:6.2.6container_name: redis6.2.6## 设置持久化,允许远程访问,密码等command: redis-server --appendonly yes --bind 0.0.0.0 --requirepass ${REDIS_PWD}ports:- 6379:6379volumes:- ./data/:/dataenvironment:- TZ=Asia/Shanghairestart: always

方案二

dockercomposeyml_30">创建docker-compose.yml环境文件

version: '3.8'services:redis:image: redis:latestcontainer_name: redis_serverports:- "6379:6379"volumes:- redis_data:/dataenvironment:- REDIS_PASSWORD=yourpasswordcommand: redis-server --appendonly yes --requirepass ${REDIS_PASSWORD}volumes:redis_data:driver: local

解析文件内容

  • version: 定义了docker-compose文件使用的版本,这里使用的是3.8。
  • services: 下面定义了要部署的服务,在本例中是Redis。
  • image: 指定使用的Redis镜像,这里使用的是Docker Hub上的最新官方Redis镜像。
  • container_name: 给容器指定一个名称。
  • ports: 将容器的6379端口映射到宿主机的6379端口,Redis默认端口。
  • volumes: 映射一个卷redis_data到容器内的/data目录,用于持久化存储Redis的数据。
  • environment: 设置环境变量,这里设定了Redis的密码。
  • command: 启动Redis服务器时使用的命令,开启AOF持久化,并设置访问密码。

安全注意事项

  • 密码保护:示例中使用环境变量REDIS_PASSWORD设置了一个密码。在实际使用中,请确保使用一个强密码替换yourpassword。
  • 网络安全:默认情况下,Redis容器将端口映射到宿主机上,这可能会使Redis面对外部访问。确保配置合适的防火墙规则或在安全的内部网络中运行。

这里提供了两个基本的Redis部署示例供参考,适合开发和测试环境。对于生产环境,你可能需要考虑更多的安全措施和配置细节。

扩展

1、【运维】ansible批量安装docker(ansible牛逼,不要太爽了)
2、【运维】在centos7系统中如何给docker配置代理
3、【运维】portainer管理远程dockerdocker-swarm集群
4、【运维docker-compose安装minio集群


http://www.ppmy.cn/news/1435007.html

相关文章

详细分析mysqlslap的基本知识 | 压力测试(附Demo)

目录 前言1. 基本知识2. 参数解读2.1 auto-generate-sql2.2 only-print2.3 iterations2.4 并发处理参数 前言 对数据库进行压力测试,对此补充这方面的详细知识点 1. 基本知识 mysqlslap 是 MySQL 自带的用于模拟数据库负载的压力测试工具 可以模拟多个客户端并发…

[C++][算法基础]判定质数(试除法)

给定 n 个正整数 ai,判定每个数是否是质数。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一个正整数 ai。 输出格式 共 n 行,其中第 i 行输出第 i 个正整数 ai 是否为质数,是则输出 Yes,否则输出 No。 数…

MATLAB 获取时间戳

说明 首先使用tic函数开始计时,然后使用toc函数获取从开始计时到当前的秒数,即时间戳。 最后,将时间戳赋值给变量timestamp,可以在后续使用。 需要注意的是,tic函数和toc函数必须成对使用。也就是说,每个…

学习周报:文献阅读+Fluent案例+水力学理论学习

目录 摘要 Abstract 文献阅读:基于物理信息神经网络的压力场重建比较评价 文献摘要 提出问题 研究方案 使用的PINN框架 所需方程 实验设置 实验一:采用二维Taylor衰减涡的理论解来验证不同方法之间的压力重建性能 实验结果展示 实验二&#x…

使用C++实现尾插式循环链表结构

在编码中避免不了使用链表,特别是循环链表,很多同学使用时为了省事直接使用C STL库中的链表实现,这样当然很简单也不容易出错,但同时也不可避免的带来了一些问题: 是半个黑盒,虽然能看源码,但是…

synchronized的底层原理

目录 介绍 实现原理 对象头 Monitor(监视器) 锁升级 偏向锁 轻量级锁 重量级锁 锁的优缺点 介绍 synchronized 是 Java 中的关键字,它用于锁定代码块或方法,以确保同一时刻只有一个线程可以进入被锁定的部分。这在多线程…

数据库——实 验 8 SQL 编程

1.T-SQL 语言简介 SQL Server 使用的语言称作 Transact-SQL, 它不仅包括基本 SQL 操作的内容,如 SQL 的数据查询功能和数据操作功能等,还有一般程序设计的能力。 2. 局部变量和全局变量的概念 1)局部变量 局部变量是一个能够拥有特定数据类型的对…

01-服务与服务间的通信

这里是极简版,仅用作记录 概述 前端和后端可以使用axios等进行http请求 服务和服务之间也是可以进行http请求的spring封装的RestTemplate可以进行请求 用法 使用bean注解进行依赖注入 在需要的地方,自动注入RestTemplate进行服务和服务之间的通信 注…