redis6.2docker镜像构建

此镜像仅用于开发/测试环境, 生产环境需开启AOF持久化配置

entrypoint.sh

bash 复制代码
#!/bin/sh
set -e

REDIS_PASSWORD=${REDIS_PASSWORD:-}

if [ -n "$REDIS_PASSWORD" ]; then
    echo "Starting redis-server..."
    exec redis-server /etc/redis.conf --requirepass "$REDIS_PASSWORD"
else
    exec redis-server /etc/redis.conf
fi

Dockerfile

shell 复制代码
FROM alpine:3.15
LABEL maintainer="257574329@qq.com"

RUN apk add --no-cache redis \
 && sed 's/^bind /# bind /' -i /etc/redis.conf \
 && sed 's/^logfile /# logfile /' -i /etc/redis.conf \
 && sed 's/^daemonize yes/daemonize no/' -i /etc/redis.conf \
 && sed 's/^protected-mode yes/protected-mode no/' -i /etc/redis.conf \
 && sed 's/^unixsocket /# unixsocket /' -i /etc/redis.conf \
 && sed 's/^unixsocketperm /# unixsocketperm /' -i /etc/redis.conf \
 && mkdir -p /var/lib/redis /var/log/redis \
 && chown -R redis:redis /var/lib/redis /var/log/redis \
 && rm -rf /var/cache/apk/* /tmp/*

COPY entrypoint.sh /sbin/entrypoint.sh
RUN chmod 755 /sbin/entrypoint.sh

EXPOSE 6379

ENTRYPOINT ["/sbin/entrypoint.sh"]

build

bash 复制代码
docker build -t alpine-redis:6.2 .

running

bash 复制代码
mkdir -p /data/redis/{data, logs} && cd /data/redis

 docker run --name redis \
 -v $(pwd)/data:/var/lib/redis \
 -v $(pwd)/logs:/var/log/redis \
 -e REDIS_PASSWORD=123456 
 -p 6379:6379 -d alpine-redis:6.2
相关推荐
小Pawn爷28 分钟前
3.Dockerfile
docker
CodeGolang28 分钟前
Docker容器化部署Zabbix监控系统完整指南
docker·容器·zabbix
忆~遂愿1 小时前
Runtime 上下文管理:计算实例的生命周期、延迟最小化与上下文切换优化
java·大数据·开发语言·人工智能·docker
lpruoyu11 小时前
【Docker进阶-03】存储原理
docker·容器
文静小土豆12 小时前
Docker 与 containerd 代理配置详解:镜像拉取速度慢的终极解决方案
运维·docker·容器
JY.yuyu14 小时前
Docker常用命令——数据卷管理 / 端口映射 / 容器互联
运维·docker·容器
lpruoyu15 小时前
【Docker进阶-06】docker-compose & docker swarm
运维·docker·容器
虾说羊16 小时前
docker容器化部署项目流程
运维·docker·容器
骇客野人17 小时前
通过脚本推送Docker镜像
java·docker·容器
liux352817 小时前
基于kubeadm部署Kubernetes 1.26.4 集群指南
云原生·容器·kubernetes