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
相关推荐
一直在努力学习的菜鸟1 小时前
Docker Info 详细解析(Rocky Linux 8.10 / Docker 29.8.1)
docker
小马同学-1 小时前
crictl实战:K8s容器运行时排障工具
容器·k8s·crictl
逐流人2 小时前
Containerd容器管理实战:从架构原理到nerdctlcrictl工具链
linux·运维·云原生·容器·云计算·containerd
AlfredZhao2 小时前
Docker 删除 none 镜像:一次真实的清理记录
docker
bosins12 小时前
WSL2 启动即崩溃?调整超时参数解决 Docker 阻塞问题
linux·docker·wsl
闲云自留地13 小时前
Containerd 进阶教程:命名空间 Namespace、私有仓库 Harbor、容器管理全流程
容器
一直在努力学习的菜鸟13 小时前
Docker 完整知识体系图
docker
闲云自留地15 小时前
Containerd 是什么?架构、插件与安装实践一次讲清
容器
java_logo16 小时前
Docker 部署 Gotenberg 完整教程:Compose 搭建文档转 PDF API
docker·pdf·chromium·libreoffice·文档转换·轩辕镜像·gotenberg
闲云野鹤在人间17 小时前
docker 入门 | 第7章 容器监控 和 第8章 容器日志 详解
运维·docker·容器·架构·云计算