真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么構(gòu)建MemcachedDocker容器

本篇內(nèi)容主要講解“怎么構(gòu)建Memcached Docker容器”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么構(gòu)建Memcached Docker容器”吧!

從策劃到設(shè)計(jì)制作,每一步都追求做到細(xì)膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供成都做網(wǎng)站、成都網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)頁設(shè)計(jì)、域名申請(qǐng)、虛擬主機(jī)、網(wǎng)絡(luò)營(yíng)銷、VI設(shè)計(jì)、 網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進(jìn)步。

 如何把Memcached運(yùn)行到docker容器中?

Docker

Docker為容器(應(yīng)用程序)提供運(yùn)行環(huán)境。使用Docker鏡像創(chuàng)建容器,既可以通過人工執(zhí)行命令,也可以通過cSphere平臺(tái)可視化操作。

 Memcached簡(jiǎn)介

Memcached是一個(gè)分布式,開源的數(shù)據(jù)存儲(chǔ)引擎。它被設(shè)計(jì)用來在RAM(替換了低速的傳統(tǒng)硬盤)中存儲(chǔ)特定種類的數(shù)據(jù),供應(yīng)用程序進(jìn)行快速檢索。減少了處理申請(qǐng)所花費(fèi)的時(shí)間,通過減少查詢的次數(shù)來抵消沉重緩慢的數(shù)據(jù)集或者API,比如傳統(tǒng)的數(shù)據(jù)庫(MySQL等)。

通過引進(jìn)一個(gè)靈巧的,精心設(shè)計(jì)并經(jīng)過最優(yōu)化的緩存機(jī)制,它變得可以處理更大的請(qǐng)求量,執(zhí)行更多的程序。這是Memcached最重要的應(yīng)用實(shí)例,因?yàn)樗彩沁@樣緩存其他應(yīng)用或內(nèi)容的。

可以深度依賴,并被用在網(wǎng)站或者其他應(yīng)用的生產(chǎn)中,Memcached已經(jīng)成為一個(gè)即時(shí)提升性能的工具,而不必使用更好的硬件條件(比如更多的服務(wù)器或者服務(wù)資源)。

Memcached的工作方式是將關(guān)鍵詞和他們對(duì)應(yīng)的值(最大能達(dá)到1MB)保存在一個(gè)關(guān)聯(lián)矩陣中(比如哈希表),延展和分布在大量的虛擬服務(wù)器中。

開始創(chuàng)建Memcached鏡像

基于我們之前學(xué)習(xí)的Docker系列文章里面的知識(shí),我們直接深入到創(chuàng)建Dockerfile來實(shí)現(xiàn)自動(dòng)構(gòu)建安裝Mamcached功能的鏡像(將可以用來運(yùn)行沙盒化的Memcached實(shí)例)。

快速回顧:什么是Dockerfile?
Dockerfile是包含可執(zhí)行的聲明的命令的腳本,將以給定的順序執(zhí)行,來讓Docker自動(dòng)的創(chuàng)建一個(gè)新的Docker鏡像。這給部署工作帶來了極大的幫助。

這些文件(Dockerfile)使用FROM命令,總是以對(duì)基礎(chǔ)鏡像的描述開頭。從那開始,構(gòu)建進(jìn)程開始運(yùn)行,向主機(jī)提交(保存鏡像的狀態(tài))的每一步的操作形成了最終的鏡像。

用法:

 # Build an image using the Dockerfile at current location
 # Tag the final image with [name] (e.g. *nginx*)
 # Example: sudo docker build -t [name] .
 sudo docker build -t memcached_img .

創(chuàng)建Memcached鏡像的Dockerfile

通過熟悉文本編輯器,創(chuàng)建一個(gè)新的Dockerfile:

首先讓我們定義一下Dockerfile的目標(biāo),并聲明需要使用的基礎(chǔ)鏡像。

 ############################################################
 # Dockerfile to run Memcached Containers
 # Based on Ubuntu Image
 ############################################################

 # Set the base image to use to Ubuntu
 FROM ubuntu

 # Set the file maintainer (your name - the file's author)
 MAINTAINER cSphere

然后我們就可以開始安裝Memcached

 
 # Install Memcached
 RUN apt-get install -y memcached

設(shè)置默認(rèn)對(duì)外開放的容器端口:

 # Port to expose (default: 11211)
 EXPOSE 11211

設(shè)置默認(rèn)的執(zhí)行命令和入口(例如Memcached進(jìn)程):

 # Set the user to run Memcached daemon
 USER daemon
 
 # Set the entrypoint to memcached binary
 ENTRYPOINT memcached

 # Default Memcached run command arguments
 CMD ["-u", "root", "-m", "128"]

### 最終的Dockfile

 ############################################################
 # Dockerfile to run Memcached Containers
 # Based on Ubuntu Image
 ############################################################
 
 # Set the base image to use to Ubuntu
 FROM ubuntu
 
 # Set the file maintainer (your name - the file's author)
 MAINTAINER Maintaner Name
 
 # Install Memcached
 RUN apt-get install -y memcached
 
 # Port to expose (default: 11211)
 EXPOSE 11211
 
 # Set the user to run Memcached daemon
 USER daemon
 
 # Set the entrypoint to memcached binary
 ENTRYPOINT memcached

    # Default Memcached run command arguments
 CMD ["-m", "128"]

    Dockerfile準(zhǔn)備完畢!

創(chuàng)建Memcached容器

構(gòu)建memcached鏡像:“csphere-memcached”

 sudo docker build -t  csphere-memcached.

**Note**:不要遺漏了最后的“ .” ,Docker需要它來找到Dockerfile。

啟動(dòng)memcached容器

使用下面的命令來創(chuàng)建一個(gè)新容器,可以根據(jù)你的需求修改這個(gè)例子。

 # sudo docker run -name csphere-memcached -d -p 45001:11211 csphere-memcached

“csphere-memcached”容器,已啟動(dòng),可使用45001端口連接使用。

限制Memcached容器的內(nèi)存

如果想要限制一個(gè)Docker容器進(jìn)程可以使用的內(nèi)存量,只要設(shè)置`-m [memory amount]`并標(biāo)上限制就ok。

運(yùn)行一個(gè)內(nèi)存限制為256MB的容器:

   ` # sudo docker run -name csphere-memcached -m 256m -d -p 45001:11211 csphere-memcached`

檢查此容器內(nèi)存限制是否設(shè)置成功,執(zhí)行以下命令:

 `# Example: docker inspect [container ID] | grep Memory
sudo docker inspect csphere-memcached | grep Memory`

測(cè)試Memcached容器

我們使用一個(gè)簡(jiǎn)單的Python CLI程序來測(cè)試。

確保你的主機(jī)擁有為Python/Memcached準(zhǔn)備的必要庫文件:

   ` sudo apt-get update && sudo apt-get -y upgrade
 sudo apt-get install -y python-pip
 pip install python-memcached`

創(chuàng)建一個(gè)簡(jiǎn)單的Python腳本,名為cache.py

把下面的內(nèi)容復(fù)制粘貼進(jìn)去:

 ` # Import python-memcache and sys for arguments
 import memcache
 import sys
 
 # Set address to access the Memcached instance
 addr = 'localhost'
 
 # Get number of arguments
 # Expected format: python cache.py [memcached port] [key] [value]
 len_argv = len(sys.argv)
 
 # At least the port number and a key must be supplied
 if len_argv < 3:
     sys.exit("Not enough arguments.")
 
 # Port is supplied and a key is supplied - let's connect!
 port  = sys.argv[1]
 cache = memcache.Client(["{0}:{1}".format(addr, port)])
 
 # Get the key
 key   = str(sys.argv[2])
 
 # If a value is also supplied, set the key-value pair
 if len_argv == 4:

     value = str(sys.argv[3])
     cache.set(key, value)
 
     print "Value for {0} set!".format(key)
 
 # If a value is not supplied, return the value for the key
 else:
 
     value = cache.get(key)
 
     print "Value for {0} is {1}.".format(key, value)`
  

      測(cè)試Docker的Memcached實(shí)例:
    
   # Example: python cache.py [port] [key] [value]
 python cache.py 45001 my_test_key test_value
 
 # Return: Value for my_test_key set
 
 # See if the key is set:
 python cache.py 45001 my_test_key
 
 # Return: Value for my_test_key is test_value.

到此,相信大家對(duì)“怎么構(gòu)建Memcached Docker容器”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


網(wǎng)站名稱:怎么構(gòu)建MemcachedDocker容器
轉(zhuǎn)載注明:http://weahome.cn/article/pippgi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部