所有分类
  • 所有分类
  • 未分类

Docker Compose-安装Redis的方法(有示例)

简介

说明

本文介绍使用Docker compose安装Redis的方法。

注意事项

  1. Docker compose安装Redis是有坑的:默认不会生成redis.conf配置文件,必须通过映射外部配置文件的方式才能生成配置文件。
  2. 必须将重要数据放到宿主机,防止docker挂了后数据丢失。
    1. 比如:配置文件、数据、日志

查看镜像

查看镜像

https://hub.docker.com/_/redis

脚本及配置

目录结构

├── docker-compose.yml # docker-compose.yml文件
├── config
│   └── redis.conf  # redis配置文件
├── data # 数据库数据文件目录
└── log
    └── redis.log  # redis日志文件

创建目录的命令

mkdir -p /work/db/redis/{config,data,log}

docker-compose.yml

version: '3'
services:
  redis:
    # 启动方式
    #restart: unless-stopped

    # 镜像
    image: redis:6.2.7
    # 容器名字
    container_name: redis6
    ports:
      - 6379:6379
    volumes:
      - ./config/redis.conf:/etc/redis/config/redis.conf
      - ./data:/data
      - ./log:/log
    # 在容器中执行的命令
    command: redis-server /etc/redis/config/redis.conf
    environment:
      - TZ=Asia/Shanghai

/work/db/redis/conf/redis.conf

#bind 127.0.0.1    # 只能本地访问
# 默认yes表示开启保护模式,用来限制redis只能本地访问
protected-mode no
# 默认no。yes:以守护进程方式启动,在后台运行,yes时无法用配置文件方式启动redis。
daemonize no
# RDB持久化。默认是开启的
save ""
# AOF持久化。默认是关闭的
appendonly no
# 密码
requirepass code753.
# 日志
logfile /log/redis.log
# 最大内存。默认没限制
maxmemory 200MB
# 回收策略。默认是noeviction(不清理)
maxmemory-policy allkeys-lru

/work/db/redis/log/redis.log

必须在当前用户下新建此日志文件,并添加写的权限: 

sudo touch redis.log;
sudo chmod 666 redis.log;

否则会启动失败:

运行docker compose

法1:到配置文件目录下运行

docker compose up

会打印详细启动日志,而且会占用控制台。 

在后台运行的方法:docker compose up -d。

法2:指定配置文件

docker compose -f /work/docker/docker-compose/redis6/docker-compose.yml up -d

docker compose的启动、停止等命令,全都是这样的,要么在配置文件目录下执行,要么指定配置文件。 

查看运行结果

compose查看

docker compose ls

docker查看

docker ps

连接测试

停止容器

docker compose stop

停止容器,但不删除容器。 

启动容器

docker compose start 

删除容器

法1:rm

docker compose rm

只删除容器 

法2:down

docker compose down

停止容器,然后删除容器。  ​

0

评论0

请先

显示验证码
没有账号?注册  忘记密码?

社交账号快速登录