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

Docker-安装Redis-方法/步骤

简介

说明

本文介绍如何使用Docker安装Redis。

注意事项

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

下载

下载

docker pull redis

或者下边这样(不输入latest默认为latest) 

docker pull redis:latest

查看是否下载成功

docker images

配置

外机找个目录创建配置文件,比如:/work/docker/redis/config/redis.conf

外机找个目录创建日志文件,比如:/work/docker/redis/log/redis.log

注意:需要给日志文件加写权限:

sudo chmod +w redis.log

redis.conf

#bind 127.0.0.1    # 只能本地访问
# 默认yes表示开启保护模式,用来限制redis只能本地访问
protected-mode no
# 默认no。yes:以守护进程方式启动,在后台运行,yes时无法用配置文件方式启动redis。
daemonize no
# 持久化
appendonly yes
# 密码
requirepass 222333 
# 日志
logfile /log/redis.log

全部配置可从官网下载

启动

法1:指定配置文件启动(推荐)

docker run -p 6379:6379 --name container_redis \
-v /work/docker/redis/config:/etc/redis/config \
-v /work/docker/redis/data:/data \
-v /work/docker/redis/log:/log \
-d redis redis-server /etc/redis/config/redis.conf
  • -p 6379:6379
    • 端口映射。冒号前表示主机,冒号后表示容器
  • -name container_redis
    • 指定容器名称,查看和进行操作都比较方便。
  • -v /work/docker/redis/config:/etc/redis/config
    • 将外机中/work/docker/redis/config挂载到容器的/etc/redis/config文件中
  • -v /work/docker/redis/data:/data
    • 将外机中/work/docker/redis/data挂载到容器的/data
    • 存持久化文件等。比如:dump.rdb
  • -v /work/docker/redis/log:/log
    • 将外机中/work/docker/redis/log挂载到容器的/log
    • 存储日志。
  • -d redis
    • -d:表示后台启动。后边的redis是镜像名字。
  • redis-server /etc/redis/config/redis.conf
    • 以配置文件启动redis,加载容器内的conf文件,最终找到的是外机的目录/work/docker/redis/config/redis.conf

法2:默认配置启动(不推荐)

docker run -itd --name container_redis -p 6379:6379 redis

法3:指定配置启动(不推荐)

docker run -p 6379:6379 --name container_redis \
--restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 \
-v /work/docker/redis/config:/etc/redis/config \
-v /work/docker/redis/data:/data \
-v /work/docker/redis/log:/log \
-d redis redis-server /etc/redis/config/redis.conf \
--appendonly yes --requirepass "222333"

查看

查看启动状态

查看已经运行的实例

docker ps

查看所有的镜像的实例(包括未运行的 )

docker ps -a

查看日志

查看容器的日志(xxx为容器实例的id或者name。本处可以用3cc96a16754f或者container_redis)

docker logs xxx

停止与启动

以下xxx为容器实例的id或者name,本处可以用3cc96a16754f或者container_redis。

停止实例

docker stop xxx

启动实例

docker start xxx

删除实例

删除实例(在实例未运行时才能运行)

docker rm xxx

强制删除实例(无论是否在运行)

docker rm -f xxx
0

评论2

请先

  1. 站长,给redis日志文件写权限给成配置文件了,我在这卡了老半天
    罖亽 2024-06-28 0
    • 感谢指出,已修复。
      自学精灵 2024-06-29 0
显示验证码
没有账号?注册  忘记密码?

社交账号快速登录