使用docker构建一个redis镜像

Dockerfile

FROM redis:7.0.15-alpine3.20
# install tools
RUN apk add curl --no-cache &&\
    apk add bash --no-cache 

COPY redis.conf /usr/local/etc/redis/redis.conf

CMD [ "redis-server", "/usr/local/etc/redis/redis.conf"]

redis.conf

# Redis 配置文件示例

################################## INCLUDES ###################################

# 如果你的 Redis 实例使用 include 配置来引入其他文件,请确保这些文件存在
# include /path/to/local.conf
# include /path/to/other.conf

################################## MODULES ####################################

# 如果你在编译时加载了模块,请在这里引入它们

################################## NETWORK ####################################

# 绑定的 IP 地址
bind 127.0.0.1

# 端口号
port 6379

# TCP-backlog
tcp-backlog 511

# 网络超时时间(秒)
timeout 0

# 日志级别
loglevel notice

# 通信协议(tcp 或者 unix)
# 默认值为 tcp
# unixsocket /tmp/redis.sock
# unixsocketperm 700

################################# GENERAL #####################################

# 密码认证
# requirepass foobared

# 服务器标识(用于统计)
# servername redis_server_1

# 守护进程模式
daemonize no

# 数据目录
dir /var/lib/redis

# RDB 文件名
dbfilename dump.rdb

# 持久化策略
save 900 1
save 300 10
save 60 10000

# 是否开启 AOF
appendonly yes

# AOF 文件名
appendfilename "appendonly.aof"

# AOF 同步策略
appendfsync everysec

# AOF 自动重写缩减
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

# 是否开启集群模式
cluster-enabled no

# 慢查询日志阈值(单位微秒)
slowlog-log-slower-than 10000

# 客户端输出缓冲区长度
client-output-buffer-limit normal 0 0 0

# 设置最大客户端连接数
maxclients 10000

# 设置允许的最大内存使用量
maxmemory 4gb

# 设置内存使用达到最大时的处理策略
maxmemory-policy volatile-lru

# 设置是否开启了压缩
rdbcompression yes

# 设置是否开启了哨兵
sentinel false

构建:

docker build -t redis:7.0.15 . -f Dockerfile 

运行:

docker run --name myredis7  -p 6379:6379 -d redis:v7.0.15 

查看容器:

docker ps |grep myredis

进入容器:

 docker exec -it b8c8ba64955b bash

连接并使用redis:

redis-cli -h 127.0.0.1 -p 6379

相关链接:

redis官方镜像:https://hub.docker.com/_/redis

Docker离线部署Redis镜像通常涉及以下几个步骤: 1. **下载镜像**:首先,你需要下载Redis的官方镜像。由于是在离线环境下,你需要提前将Redis的最新版本或特定版本的镜像文件从线上下载到本地。你可以访问Redis Docker Hub页面找到相应的tag,然后通过`docker save`命令将其保存为`.tar`文件。 ```bash docker pull redis:version_tag > /dev/null # 省略实际的版本号 docker save -o redis_latest.tar redis:latest ``` 2. **解压镜像文件**:将`.tar`文件解压缩以便后续使用。 ```bash tar -xvf redis_latest.tar ``` 3. **创建一个新的Dockerfile**:为了离线部署,需要编写一个Dockerfile描述如何构建镜像,通常会包含基础镜像、添加应用文件等内容。例如: ```Dockerfile # 使用基础镜像 FROM scratch # 添加Redis镜像内容 COPY --from=redis latest /usr/local/bin/redis-server / COPY --from=redis latest /usr/local/etc/redis.conf /etc/redis.conf # 设置启动脚本和服务端口 CMD ["redis-server", "/etc/redis.conf"] EXPOSE 6379 ``` 4. **构建镜像**:在当前目录下,使用自定义的Dockerfile构建新的离线镜像。 ```bash docker build -t my-offline-redis . ``` 5. **运行镜像**:现在你已经有了离线Redis镜像,可以使用`docker run`命令启动容器。 ```bash docker run -d --name my_redis_container -p 6379:6379 my-offline-redis ``` 注意:虽然过程是离线的,但创建Dockerfile和执行`docker build`仍然需要网络连接来获取依赖的文件(如Redis配置)。如果你完全不需要网络,那么你可能需要在构建之前准备好所有必要的文件和配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值