[redis]定制封装redis的docker镜像
前言
应开发需求,定制封装redis的docker镜像,需要通过环境变量修改redis的密码。
redis.conf
port 6379
requirepass REDIS_PASSWD
daemonize no
protected-mode yes
io-threads-do-reads yes
redis.conf文件配置参数说明。更多参数可参考 官方文档
参数 | 说明 |
---|---|
port | redis-server的监听端口 |
requirepass | redis的连接密码 |
daemonize | 是否以后台模式启动,在docker中必须为no |
protected-mode | 是否开启保护模式 |
io-threads-do-reads | 是否开启io多线程 |
docker-entrypoint.sh
#!/bin/bash
if [ -n "$REDIS_PASSWD" ]; then
sed -i "s/REDIS_PASSWD/$REDIS_PASSWD/g" /etc/redis.conf
fi
/usr/local/bin/redis-server /etc/redis.conf
Dockerfile
FROM redis:7.0.8
LABEL version="7.0.8.1"
LABEL description="add redis password"
ADD docker-entrypoint.sh /
ADD redis.conf /etc/
ENV REDIS_PASSWD="123456"
CMD ["/docker-entrypoint.sh"]
构建
docker build -t redis:7.0.8.1 .
运行示例
version: "3"
services:
redis:
image: redis:7.0.8.1
container_name: redis
ports:
- 6379:6379
environment:
- REDIS_PASSWD="654321"
使用docker-compose up -d
命令创建容器并运行,用客户端带上密码访问测试。
本文来自博客园,作者:花酒锄作田,转载请注明原文链接:https://www.cnblogs.com/XY-Heruo/p/17150841.html