前言
最近需要部署一个redis服务供emqx使用。由于环境上均为容器化部署服务,所以我们需要使用docker来进行部署。
也看了一下网上docker部署redis的文章,存在几个问题。
1.大多数教程是直接拉取官方redis最新版本镜像,即latest标签或不指定标签。然后直接使用该镜像执行docker run 命令创建容器。首先我们使用镜像要明确版本号,因为latest版本是不断更新的,有可能导致我们后续的部署失败,或者造成版本的不匹配。
2.部署时都是用默认配置,没有配置文件。
3.即使是使用配置文件,也选择将配置文件挂载到宿主机上
综上,我将dockerFile 和配置文件统一打包,创建新镜像。这样既能保证每次创建的镜像都是相同的,又能通过配置文件的方式,修改redis的配置
具体的压缩包在此下载,不收费。
https://download.csdn.net/download/qq_39231899/82331253
提示:以下是本篇文章正文内容,下面案例可供参考
一、内容
1.文件列表
2.Dockerfile内容
FROM redis:4.0.6
WORKDIR /opt/redis
COPY myredis.conf /opt/redis/
3.myredis.conf内容
port 30379
bind 0.0.0.0
protected-mode yes
appendonly yes
requirepass 123456
注释:
port:redis连接端口
bind 允许连接的ip,0.0.0.0表示允许所有ip连接该redis
protected-mode 保护模式,no表示允许公网连接
appendonly 配置数据持久化,避免redis宕机后数据丢失
requirepass 密码,不配置则无需密码即可连接redis
二、使用步骤
1.修改配置
修改myredis.conf中的配置项,也可以增加其他配置项
2.构建镜像
进入Dockerfile所在目录
执行构建镜像命令
docker build .
也可以通过 -t 来执行镜像的tag
docker build -t myredis:4.0.6 .
3.创建容器
第二步构建完成后会得到镜像id,也可以通过下面的命令查询镜像列表
docker images
创建并启动容器
docker run --name redis -p 30379:30379 -d 镜像ID redis-server myredis.conf
注释:
–name 代表容器名称
-p 容器暴露端口:要映射的容器内部端口
-d 代表后台运行
总结
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/71761.html