前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx 缓存服务器(番外)定制Docker镜像

Nginx 缓存服务器(番外)定制Docker镜像

作者头像
用户1560186
发布2019-11-19 20:58:32
1.6K0
发布2019-11-19 20:58:32
举报
文章被收录于专栏:运维录运维录运维录

分层存储

在 "nginx 缓存服务器(下)" 这篇文章中,我们讲解了如何使用 ngx_cache_purge模块主动清理缓存,不过默认的 nginx镜像是不包含 ngx_cache_purge模块的,我们需要自己安装这个模块,但是大家都知道 容器的生命周期会随着镜像更新而结束,也就是说在当前容器中安装的 ngx_cache_purge模块并不会保留在后续的镜像/容器里。 这是因为 Docker存储机制,Docker镜像使用的是分层存储,容器也是如此。每一个容器运行时是以镜像为基础层,并在其上创建一个当前容器的存储层,容器存储层的生存周期和容器一样,容器消亡时容器存储层也随之消亡,因此任何保存于容器存储层的数据都会随容器删除而丢失。

目标

在了解 Docker存储机制后,我们的目标也明确了,那就是将 ngx_cache_purge 模块添加到自定义的 Nginx镜像中,避免每次创建容器后再次安装模块。

操作步骤

1. Dockerfile

这个 Dockerfile 就是根据 "nginx 缓存服务器(下)" 添加 ngx_cache_purge 模块步骤设计的。 FROM 表示使用那个基础镜像。 MAINTAINER 表示 Dockerfile的维护人。 ENV 表示容器环境变量,这里是TZ时区与LANG语言。 RUN 表示运行的命令,这里也就是添加模块的命令。 COPY 表示拷贝文件,这里是拷贝 nginx的配置文件。

注意,这里为了减少镜像的存储层数(每一个命令就是一层,这个Dockerfile 定义了6层),使用&&操作符将多个命令组合在一个 RUN中。配置文件conf/nginx.conf 与 conf/default.conf,可以参考 "nginx 缓存服务器(下)" 文章。 2. build 镜像

docker build -t nginx:cache-purge . Sending build context to Docker daemon 7.68kB Step 1/6 : FROM nginx:1.14-alpine ---> 8a2fb25a19f5 ...省略 ---> 9bd78cf61a45 Successfully built 9bd78cf61a45 Successfully tagged nginx:cache-purge

注意,那个点它代表 Dockerfile 在当前目录。 3. 使用镜像 创建好的镜像如果没有错误提示,就是可以使用啦,例如在 rancher 中升级 nginx cache 服务。

结束

至此,我们完成了带有ngx_cache_purge模块的自定义Nginx镜像,可以按照"nginx 缓存服务器(下)" 文章,尝试清理缓存数据。本期就到这里,下期再见。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维录 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档