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
相关推荐
打工的小王8 小时前
docker(三)具体项目的部署
运维·docker·容器
有风听风有雨看雨10 小时前
【Critical】docker unauthorized 2375
docker·容器·eureka
Trank-Lw12 小时前
Docker Devcontainer 管理命令
运维·docker·容器
科技观察13 小时前
告别镜像拉取困境:毫秒镜像以“正规军”姿态重塑国内Docker加速生态
运维·docker·容器
热爱生活的五柒14 小时前
docker里面的文件没有写入权限,也无法使用sudo。docker镜像里某个文件夹没有创建文件夹权限。如何解决?
运维·docker·容器
愈努力俞幸运15 小时前
windows 安装 docker
windows·docker·容器
2301_7679026416 小时前
第 5 章 docker网络
网络·docker·php
huizhixue-IT17 小时前
收藏-Kubernetes怎么从私有仓库拉取镜像?(K8S系列)
云原生·容器·kubernetes
DB!!!17 小时前
【Dockerv1】高频十大面试题&&基础知识&&常用指令
docker·容器
守护砂之国泰裤辣18 小时前
React项目Docker部署的简单配置
运维·docker·容器