如何把memcached运行到docker容器中?

docker为容器(应用程序)提供运行环境。使用docker镜像创建容器,既可以通过人工执行命令,也可以通过csphere平台可视化操作。
memcached是一个分布式,开源的数据存储引擎。它被设计用来在ram(替换了低速的传统硬盘)中存储特定种类的数据,供应用程序进行快速检索。减少了处理申请所花费的时间,通过减少查询的次数来抵消沉重缓慢的数据集或者api,比如传统的数据库(mysql等)。
通过引进一个灵巧的,精心设计并经过最优化的缓存机制,它变得可以处理更大的请求量,执行更多的程序。这是memcached最重要的应用实例,因为它也是这样缓存其他应用或内容的。
可以深度依赖,并被用在网站或者其他应用的生产中,memcached已经成为一个即时提升性能的工具,而不必使用更好的硬件条件(比如更多的服务器或者服务资源)。
memcached的工作方式是将关键词和他们对应的值(最大能达到1mb)保存在一个关联矩阵中(比如哈希表),延展和分布在大量的虚拟服务器中。
基于我们之前学习的docker系列文章里面的知识,我们直接深入到创建dockerfile来实现自动构建安装mamcached功能的镜像(将可以用来运行沙盒化的memcached实例)。
快速回顾:什么是dockerfile?
dockerfile是包含可执行的声明的命令的脚本,将以给定的顺序执行,来让docker自动的创建一个新的docker镜像。这给部署工作带来了极大的帮助。
这些文件(dockerfile)使用from命令,总是以对基础镜像的描述开头。从那开始,构建进程开始运行,向主机提交(保存镜像的状态)的每一步的操作形成了最终的镜像。
用法:
通过熟悉文本编辑器,创建一个新的dockerfile:
首先让我们定义一下dockerfile的目标,并声明需要使用的基础镜像。
然后我们就可以开始安装memcached
设置默认对外开放的容器端口:
设置默认的执行命令和入口(例如memcached进程):
构建memcached镜像:“csphere-memcached”
sudo docker build -t csphere-memcached.
<code>**note**</code>:不要遗漏了最后的“ .” ,docker需要它来找到dockerfile。
使用下面的命令来创建一个新容器,可以根据你的需求修改这个例子。
“csphere-memcached”容器,已启动,可使用45001端口连接使用。
如果想要限制一个docker容器进程可以使用的内存量,只要设置<code>-m [memory amount]</code>并标上限制就ok。
运行一个内存限制为256mb的容器:
检查此容器内存限制是否设置成功,执行以下命令:
我们使用一个简单的python cli程序来测试。
确保你的主机拥有为python/memcached准备的必要库文件:
创建一个简单的python脚本,名为cache.py
把下面的内容复制粘贴进去: