docker安装并配置redis

一、安装redis

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/redis:7.4.1
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/redis:7.4.1  docker.io/redis:7.4.1

二、配置redis

wget -O /data/redis/redis.conf https://github.com/redis/redis/blob/7.4.1/redis.conf

vim redis.conf
修改:
	bind 127.0.0.1 -> bind 0.0.0.0 # 个人学习用,随便修改
	daemonize no # 由于是docker启动,这里不需要设置为yes
	logfile "" -> logfile "redis.log"
	databases 16 -> databases 1 # 个人学习用,不需要那么多数据库

三、启动redis

vim /data/redis/start && chmod 755 /data/redis/start

#!/bin/bash

docker run \
    -d \
    --name redis \
    -p 6379:6379 \
    --restart always \
    -v /data/redis:/data \
    -v /data/redis/redis.conf:/etc/redis/redis.conf \
    redis:7.4.1 \
    /etc/redis/redis.conf # 注意,这里不需要redis-server命令

之所以不需要redis-server命令,是因为docker镜像有一个入口脚本 /usr/local/bin/docker-entrypoint.sh,该脚本的内容如下

#!/bin/sh
set -e

# first arg is `-f` or `--some-option`
# or first arg is `something.conf`
if [ "${1#-}" != "$1" ] || [ "${1%.conf}" != "$1" ]; then
        set -- redis-server "$@"
fi

# allow the container to be started with `--user`
if [ "$1" = 'redis-server' -a "$(id -u)" = '0' ]; then
        find . \! -user redis -exec chown redis '{}' +
        exec gosu redis "$0" "$@"
fi

# set an appropriate umask (if one isn't set already)
# - https://github.com/docker-library/redis/issues/305
# - https://github.com/redis/redis/blob/bb875603fb7ff3f9d19aad906bd45d7db98d9a39/utils/systemd-redis_server.service#L37
um="$(umask)"
if [ "$um" = '0022' ]; then
        umask 0077
fi

exec "$@"

根据内容可知,该脚本会接收来自docker run后面的启动参数,准确说是配置文件,然后执行redis-server xxx.conf

四、验证

lsof -i:6379
> COMMAND      PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
> docker-pr 218210 root    4u  IPv6 798476      0t0  TCP *:redis (LISTEN)

docker ps
> CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
> b488fddd7e26        redis:7.4.1         "docker-entrypoint.s…"   23 minutes ago      Up 23 minutes       0.0.0.0:6379->6379/tcp   redis
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值