📜  带有 docker-compose 的 docker redis 示例 (1)

📅  最后修改于: 2023-12-03 14:54:02.602000             🧑  作者: Mango

带有 docker-compose 的 docker redis 示例

Docker 是一种容器化技术,通过 Docker 容器,可以将应用程序打包成独立、可复用的极轻量级容器,从而可以在任意 Docker 环境中运行,实现了应用程序的可移植性和可部署性。Docker Compose 则是 Docker 容器编排工具,可以通过 YAML 文件定义应用的各个组件,包括容器、网络、数据卷等,并且可以一键式地启动、关闭和管理整个应用。

Redis 是一种高性能的键值存储系统,拥有快速的读写速度和持久性、内存优化存储和多种数据结构、支持事务和 Lua 脚本等特性,广泛应用于缓存、队列、消息传递、实时计数等场景。在本示例中,将介绍如何利用 Docker 和 Docker Compose 启动 Redis 的容器化实例。

前置条件
  • 安装 Docker 和 Docker Compose
  • 了解 Redis 的基本概念和用法
创建 Docker Compose YAML 文件

首先,在项目根目录下创建一个名为 docker-compose.yml 的 YAML 文件,用于定义 Redis 容器的相关配置。下面是一个示例:

version: '3'

services:
  redis:
    image: redis:5.0
    container_name: redis
    restart: always
    environment:
      - REDIS_PASSWORD=<Your Password>
    ports:
      - '6379:6379'

volumes:
  redis_data:

该文件使用了 Docker Compose 的 version 属性,用于指定 Docker Compose 的版本。services 属性定义了一个名为 redis 的服务,它使用了 Redis 官方提供的镜像 redis:5.0,并且可以通过 container_name 属性设置容器名称,通过 restart 属性设置容器重启策略,通过 environment 属性设置环境变量(本示例中为 Redis 的密码),通过 ports 属性设置容器端口映射规则(本示例中将 Redis 的默认端口 6379 映射到主机的 6379 端口)。volumes 属性则定义了一个名为 redis_data 的数据卷,用于持久化 Redis 的数据。

启动 Redis 容器

在项目根目录下运行以下命令,即可启动 Redis 容器:

docker-compose up -d

该命令将运行 Docker Compose 文件,并将其服务定义转化为 Docker 容器。其中,up 命令用于启动服务,-d 参数用于在后台运行服务。在 Redis 容器启动后,可以通过以下命令登录 Redis:

docker exec -it redis redis-cli -a <Your Password>

其中的 <Your Password> 指的是 Redis 的密码,需要替换为你在 docker-compose.yaml 文件中设置的密码。

这时,就可以在 Redis 中进行操作,如设置键值对、查询键值对、获取 Redis 常规信息等。以下是 Redis 的一些基本操作:

# 设置键值对
set key value

# 查询键值对
get key

# 获取 Redis 信息
info
关闭 Redis 容器

在项目根目录下运行以下命令,即可关闭 Redis 容器:

docker-compose down

该命令将停止所有服务,并删除其相关容器和网络。如果要仅停止 Redis 服务,可以使用以下命令:

docker-compose stop redis
注意事项
  • docker-compose.yaml 文件中,需要替换 <Your Password> 为你自己的 Redis 密码。
  • 如果需要在 Redis 中进行持久化数据操作,需要将数据存储在 redis_data 数据卷中,否则容器停止后数据将会丢失。
  • 在容器内登录 Redis 时,需要使用 -a 参数指定密码。
参考文献