当前位置:首页 > 技术分析 > 正文内容

使用Dockerfile基于6.0镜像搭建Redis微服务环境

ruisui884个月前 (03-10)技术分析19

1. 介绍

1.1 介绍

大家根福哥学会了使用Dockerfile创建Docker镜像的技巧了,那么我们现在搭建服务器环境就不需要再去下载软件的源代码了,也不需要编译安装了,更加不用操心软件和操作系统的各种兼容问题了。

今天福哥带着大家来安装redis的环境,Redis是数据库引擎,和php、python不同之处在于Redis是不能简单地通过k8s进行负载均衡的,而且Redis的数据库的数据会持续更新需要持久化保存起来,这些我们在本课都可以跟福哥学到。

2. 镜像

2.1 tag

虽然Redis已经出了6.2版本,但是福哥还是选择了兼容性比较好的6.0版本。

2.2 结构

照例我们先把镜像拉取下来,然后启动一个容器,看看里面都有什么,弄明白了自己才好捣鼓啊!

2.2.1 拉取镜像

docker pull redis:6.0-buster

2.2.2 创建数据卷

和前面的php和python不同,我们需要建立一个数据卷用来给Redis存储数据使用。

docker volume create redis6.0

2.2.3 启动临时容器

启动容器的时候需要指定数据卷映射到容器内部,因为默认redis没有配置文件,所以我们先映射到/var/lib/redis下面。

docker run -tid --name redis6.0 -h redis6.0 -v redis6.0:/var/lib/redis redis:6.0-buster

2.2.4 切入临时容器

docker exec -ti redis6.0 /bin/bash

2.2.5 查看结构

进入容器后,全局查找一番,发现完全没有配置文件。。。

2.2.6 停止临时容器

docker stop redis6.0

2.2.7 删除临时容器

docker rm redis6.0

3. 手动安装

福哥先在临时容器里面手动安装一遍环境,然后再整理到Dockerfile里面,这样大家会看得比较清楚一些~~

3.1 配置文件

福哥这边整理了一些基础的配置参数保存到自定义配置文件/usr/local/etc/redis/redis.conf里面。

3.1.1 /usr/local/etc/redis/redis.conf

# host and port
bind 0.0.0.0
port 6379

# data
maxmemory 268435456
dbfilename dump.rdb
dir /var/lib/redis

# security
requirepass tongfu.net

3.2 测试

因为在容器里面已经启动了一个6379端口的实例了,福哥只能临时把端口改成6380了。

可以看到新启动的Redis实例的端口已经是6380了,而且设置了安全密码是tongfu.net。

可以看到通过info查看的最大内存是福哥设置的256M。

4. Dockerfile

最后福哥把前面的设置命令整理到一起写成Dockerfile,这样大家就可以通过Dockerfile安装环境了。

4.1 redis.conf

首先福哥建立了一个配置文件redis.conf,把自定义的参数写到里面去,导入到镜像里面。

# host and port
bind 0.0.0.0
port 6379

# data
maxmemory 268435456
dbfilename dump.rdb
dir /var/lib/redis

# security
requirepass tongfu.net

4.2 Dockerfile

创建Dockerfile,将redis.conf导入进来,用完后再删除掉。

FROM redis:6.0-buster

MAINTAINER Andy Bogate
MAINTAINER tongfu@tongfu.net
MAINTAINER http://docker.tongfu.net

EXPOSE 6379

WORKDIR /

# config
RUN mkdir /usr/local/etc/redis \
&& mkdir /var/lib/redis
ADD redis.conf /usr/local/etc/redis/redis.conf

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

创建完镜像,启动一个容器,进去里面登入redis终端,可以看到我们在redis.conf里设置的参数生效了!

5. 总结

今天福哥带着大家使用Dockerfile搭建了Redis微服务环境了,可以发现使用Dockerfile方式搭建环境我们真的只需要关心我们需要关心的部分,繁琐的编译参数、依赖库、环境参数等等一系列的问题基础镜像都给我们解决好了。

下一课,福哥会带着搭建学习使用Dockerfile搭建MongoDB环境,敬请期待~~


https://m.tongfu.net/home/35/blog/513301.html

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/2677.html

分享给朋友:

“使用Dockerfile基于6.0镜像搭建Redis微服务环境” 的相关文章

体检刷卡收费管理系统

体检刷卡收费管理系统headerfooter《体检刷卡收费管理系统》是针对各医院进行体检刷卡收费管理的一套系统。软件集办卡、充值、刷卡消费、体检登记与一体。主要功能:1.基本信息:科室设置、套餐设置、单项设置、本院信息;2.体检卡管理:单位人员办卡、个人办卡、体检卡充值、体检卡禁用、体检卡开通、体检...

15款测试html5响应式的在线工具

手机、平板灯手持设备的增多,网站要顺应变化,就必须要做响应式开发,响应式网站最大的特点在于可以在不同设备下呈现不同的布局,是基于html5+css3技术,目前越来越多的网站开始采用了响应式设计,而下面15款工具可以方便测试你的html5响应式效果。Responsinatorhttp://www.re...

30 个纯 HTML5 实现的游戏

浏览器和 JavaScript 的功能逐年不断的变强变大。曾几何时,任何类型的游戏都需要Flash。但随着 HTML5 发展,HTML5 + WebGL 游戏式就慢慢占领着这个舞台。以下是30款流行的游戏,它们可以在所有现代浏览器中运行,并且只使用web技术构建。1. HexGL地址:http://...

全新斯柯达柯珞克Karoq深度评测:大众替代品

“斯柯达柯珞克是一款出色的全能家庭 SUV,具有许多有用的功能”价格36,605 英镑- 49,190 英镑优点方便的 VarioFlex 后排座椅非常适合家庭入住驾驶乐趣缺点保修期短保守的内饰性格比Yeti少结论——斯柯达柯珞克是一辆好车吗?斯柯达柯珞克是在辉煌的七座 斯柯达柯迪亚克之后推出的,因...

Excel中的FILTER函数详细介绍及使用示例

在Excel中处理大量数据时,经常需要根据特定条件筛选出符合条件的数据行或列。这正是Excel的FILTER函数发挥作用的地方。FILTER函数是Excel中一个非常强大的工具,它可以基于一个或多个条件动态地过滤数据,使数据分析和报告制作变得更加高效和准确。本文将详细介绍FILTER函数的用法,并提...

Vue学习笔记之动态路由的参数传递应用及技巧

路由的参数传递:①通过params的类型· 配置路由格式:/router/:id· 传递的方式:在path后面跟上对应的值· 传递后形成的路径:/router/list,/router/profile这个就是前两篇中提到的"动态路由"中有应用过这个方法:②通过query的类型(对象方...