天天看點

如何建構Memcached Docker容器

如何把memcached運作到docker容器中?

如何建構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

把下面的内容複制粘貼進去: