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
相关推荐
小p5 小时前
docker学习7:docker 容器的通信方式
docker
小p6 小时前
docker学习5:提升Dockerfile水平的5个技巧
docker
小p7 小时前
docker学习3:docker是怎么实现的?
docker
小p2 天前
docker学习: 2. 构建镜像Dockerfile
docker
小p2 天前
docker学习: 1. docker基本使用
docker
崔小汤呀2 天前
Docker部署Nacos
docker·容器
缓解AI焦虑2 天前
Docker + K8s 部署大模型推理服务:资源划分与多实例调度
docker·容器
1candobetter3 天前
Docker Compose Build 与 Up 的区别:什么时候必须重建镜像
docker·容器·eureka
シ風箏3 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
BugShare3 天前
继《小爱音响》详细说下怎么部署,尤其是关于Docker部分
docker·nas·xiaomusic