首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >docker封装redis镜像

docker封装redis镜像

作者头像
py3study
发布2020-03-18 14:43:03
发布2020-03-18 14:43:03
9100
举报
文章被收录于专栏:python3python3

一、概述

线上使用的redis版本为 3.2.13,但是dockerhub没有此版本的镜像。只有3.2.12 但是默认的镜像启动时,是没有redis.conf的,如果需要加配置,需要自己定义配置文件。

二、封装镜像

创建目录

代码语言:javascript
复制
# dockerfile目录
mkdir -p /opt/dockerfile/redis
# 持久化目录
mkdir -p /data/redis

/opt/dockerfile/redis目录结构如下:

代码语言:javascript
复制
./
├── dockerfile
├── redis.conf
└── run.sh

dockerfile

代码语言:javascript
复制
FROM redis:3.2.12
COPY redis.conf /usr/local/etc/redis/redis.conf
CMD [ "redis-server", "/usr/local/etc/redis/redis.conf"]

redis.conf

代码语言:javascript
复制
dir /data
pidfile /data/redis.pid
logfile "/data/redis.log"
repl-disable-tcp-nodelay yes
no-appendfsync-on-rewrite yes
maxmemory 2048m
maxmemory-policy allkeys-lru
requirepass 123456

注意:调整maxmemory参数。我这里的服务器内存是4g,所以调整为2g

run.sh

代码语言:javascript
复制
#!/bin/bash
docker run -d -it --name redis_prod --restart=always -p 6379:6379 -v /data/redis:/data redis_prod:3.2.12

生成镜像

代码语言:javascript
复制
cd /opt/dockerfile/redis
docker build -t redis_prod:3.2.12 .

启动镜像

代码语言:javascript
复制
bash run.sh

三、测试

代码语言:javascript
复制
# docker exec -it redis_prod /bin/bash
# redis-cli
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> info
# Server
redis_version:3.2.12
...
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/03/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 一、概述
  • 二、封装镜像
    • dockerfile
    • redis.conf
    • run.sh
    • 生成镜像
    • 启动镜像
  • 三、测试
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档