【Docker】通过Dockerfile构建Redis镜像

写在前面

最近,有小伙伴问我:他们公司想将现有产品微服务化,部署到Docker容器中,为了部署方便,希望将现有的基础服务,例如,Redis这些基础服务,打包到Docker容器中,而不直接使用Docker镜像库有已有的Redis,这就节省了他们公司再次配置基础服务的时间。问我能不能将现有的Redis打包到Docker容器中。经过我一系列的操作,满足了他们的需求。接下来,我就将如何通过Dockerfile构建Redis镜像分享给大家!

编写redis_install.sh脚本

编写redis编译安装shell脚本redis_install.sh (最后两行的意思是,第69行匹配127.0.0.1更换成0.0.0.0;第88行匹配protected-mode yes更换为protected-mode no),这里,我以redis 4.0.9为例。

#!/bin/bash
yum install -y gcc gcc-c++ make openssl openssl-devel
cd /home/redis-4.0.9
make && make PREFIX=/usr/local/redis install
mkdir -p /usr/local/redis/conf/
cp /home/redis-4.0.9/redis.conf  /usr/local/redis/conf/
sed -i  '69s/127.0.0.1/0.0.0.0/' /usr/local/redis/conf/redis.conf
sed -i  '88s/protected-mode yes/protected-mode no/' /usr/local/redis/conf/redis.conf

编写Dockerfile

FROM centos:7
ADD redis-4.0.9.tar.gz /home
COPY redis_install.sh /home
RUN sh /home/redis_install.sh
ENTRYPOINT /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf

测试Redis

  • 启动容器 docker run -itd -p 6380:6379 mycentos:redis #6380为宿主机端口,6379为容器端口
  • 进入容器 docker exec -it 镜像id /bin/bash
  • 宿主机连接redis /usr/local/redis/bin/redis-cli -p 6380
  • 验证:可以在宿主机set name xxx,然后在容器内get name 测试

好了,今天就到这儿吧,我是冰河,我们下期见!!

冰河 『冰河技术』公号 作者 CSDN认证博客专家 分布式与微服务 大数据与云计算 云原生
微信搜一搜【冰河技术】微信公众号,关注这个有深度的程序员,每天阅读超硬核技术干货,公众号内回复【PDF】有我准备的一线大厂面试资料和我原创的超硬核PDF技术文档,以及我为大家精心准备的多套简历模板(不断更新中),希望大家都能找到心仪的工作,学习是一条时而郁郁寡欢,时而开怀大笑的路,加油。如果你通过努力成功进入到了心仪的公司,一定不要懈怠放松,职场成长和新技术学习一样,不进则退。如果有幸我们江湖再见!
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付 9.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值