redis docker安装(服务器部署)

介绍

本文介绍安装docker redis

首先要在linux上安装好docker

docker redis网址:
https://hub.docker.com/_/redis/?tab=description

Dockerfile:
https://github.com/docker-library/redis/blob/3a0b4f1d370e4efd30a0db32b0e0cf878f3133d3/6.0/Dockerfile

拉取redis6.0镜像

docker pull redis:6.0

创建文件夹和文件

创建docker_redis6.0文件夹

在该文件夹内创建其他文件夹和存放文件

mkdir docker_redis6.0

创建redis数据文件夹

在 docker_redis6.0 文件夹内,创建redis数据文件夹,用于保存数据,避免数据过大,导致容器文件增大

mkdir data

创建redis配置文件夹

在 docker_redis6.0 文件夹内,创建redis配置文件夹,用于存放配置文件

mkdir conf

创建redis日志文件夹(有坑)

在 docker_redis6.0 文件夹内,创建redis日志文件夹,用于存放log文件,便于查看日志

mkdir logs

注意:redis生成log文件时,无法创建文件夹,即:只能在已经存在的文件夹中生成log文件

创建redis日志文件(有坑)

注意:docker redis无法生成log文件

touch redis.log

修改文件权限,否则docker redis无权修改文件

chmod 666 redis.log

redis配置文件

下载redis配置文件

redis必须带配置文件启动

在docker_redis6.0/conf目录下,下载redis配置文件:

wget http://download.redis.io/redis-stable/redis.conf

修改配置文件

注释掉下面行,允许外部ip访问redis

# bind 127.0.0.1

修改端口号(一般不用默认端口号)

port 6379

开启持久化

appendonly yes

配置内存

缓存淘汰策略(未实现)

requirepass 设置永久密码

取消下面注释,设置密码,foobared就是密码

requirepass foobared

创建容器并运行

docker run -p 6379:6379 \
--privileged=true \
-v /root/docker_redis6.0/data:/data \
-v /root/docker_redis6.0/conf/redis.conf:/etc/redis/redis.conf \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone:ro \
-v /root/docker_redis6.0/logs:/var/redis_logs \
--name redis6.0 \
-d redis:6.0 redis-server /etc/redis/redis.conf
命令解释:
  • -p 6379:6379 端口映射,:前表示宿主机,:后表示容器
  • --privileged=true:容器拥有root权限
  • --name redis6.0:指定容器名称
  • -v /root/docker_redis6.0/data:/data:挂载数据目录,规则与端口映射相同
  • -v /root/docker_redis6.0/conf/redis.conf:/etc/redis/redis.conf:挂载配置文件
  • -v /root/docker_redis6.0/logs:/var/redis_logs:挂载日志目录,挂载时,容器内目录不存在会自动创建
  • -v /etc/localtime:/etc/localtime:ro \ 设置系统时间时区
    -v /etc/timezone:/etc/timezone:ro \ 设置时区
  • -d:表示后台启动redis
  • redis:6.0:根据镜像redis:6.0创建并运行容器
  • redis-server:执行的命令,redis-server是启动redis服务命令
  • /etc/redis/redis.conf:根据/etc/redis/redis.conf配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/root/docker_redis6.0/conf/redis.conf

查看容器

执行

docker ps

查看redis已经运行了

进入容器bash(可选)

docker exec -it redis6.0 /bin/bash

测试

启动redis客户端,连接该redis服务器


原文出处:/show_1EF5oDxST6MP.html