docker搭建memcached的詳細步驟
Magent 是一款開源的 Memcached 代理服務(wù)器軟件,使用它可以搭建高可用性的集群應(yīng)用的 Memcached 服務(wù) ,備份 Memcached 數(shù)據(jù),盡管 Memcached 服務(wù)掛掉,前端也能獲取到數(shù)據(jù),客戶端先連到 Magent 代理服務(wù)器 ,然后Magent 代理服務(wù)器 在可以連接多臺 Memcached 服務(wù)器,然后可以進行數(shù)據(jù)的保存和備份數(shù)據(jù)。這樣數(shù)據(jù)就不會丟失,保存了數(shù)據(jù)完整性。這篇文章給大家介紹docker搭建memcached的步驟。
搭建步驟
worker登錄機器
新建文件夾
mkdir memcache cd memcache? mkdir magent cd magent?
下載magent-0.5.tar.gz并安裝
將文件傳送至服務(wù)器上
tar -zxvf magent-0.5.tar.gz?
root登錄機器
執(zhí)行/sbin/ldconfig
sed -i "s#LIBS = -levent#LIBS = -levent -lm#g" Makefile
vi magent.c,將以下內(nèi)容添加在magent.c開頭處
#ifndef SSIZE_MAX #define SSIZE_MAX 32767 #endif
返回上級目錄 cd..
創(chuàng)建Dockerfile并構(gòu)建鏡像
vimDockerfile,將以下內(nèi)容錄入Dockerfile中。
FROM centos:7 ADD magent?/tmp/magent RUN yum?install?-y gcc?make?libevent-devel.x86_64 && yum clean all &&?cd?/tmp/magent/?&&?/sbin/ldconfig?&&?make?&&?cp?magent?/usr/bin/ CMD magent -u root -l 0.0.0.0 -p 12000 -s 服務(wù)器地址:11211 -b 服務(wù)器地址:11211
注:FROM centos:7 從默認鏡像源拉取鏡像,非常非常非常慢!如果公司有鏡像,可通過本地pull鏡像,push到公司私有鏡像源,然后再將該鏡像源改為公司私有鏡像源。操作如下:
本地docker pullcentos:7.2.1511
本地 docker tagcentos:7.2.1511docker2.gs.com:5000/app-open/centos:7.2.1511
服務(wù)器然后修改Dockerfile中的FROM centos:7 為FROMdocker2.gs.com:5000/app-open/centos:7.2.1511
構(gòu)建鏡像magent:v1
docker build -t magent:v1 -f ./Dockerfile .? docker tag magent:v1?docker2.gs.com:5000/app-open/magent:v1 docker images 確認該鏡像存在 即:docker2.gs.com:5000/app-open/magent? ? ? ? ? ? ? ? ? v1? ? ? ? ? ? ? ? ? 4c750848163d? ? ? ? 3 minutes ago ? ? ? 289.4 MB
提交
docker push?docker2.gs.com:5000/app-open/magent:v1
pull memcached鏡像
本地pull,push到公司私有鏡像源,服務(wù)器更新magent.yml 文件,pullmemcached
本地
docker pull memcached docker images docker tag memcached?docker2.gs.com:5000/app-open/memcached docker push?docker2.gs.com:5000/app-open/memcached
如果docker 版本號大于1.13 則在服務(wù)器vimmagent.yml,將以下內(nèi)容錄入后保存。并執(zhí)行docker stack deploy -c magent.yml magent進行部署。
version:?'3.2' services: ????????magent: ????????????????image: docker2.gs.com:5000/app-open/magent:v1 ????????????????ports: ??????????????????-?'12001:12000' ????????????????command:?'magent -u root -D -v -l 0.0.0.0 -p 12000 -s 服務(wù)器地址:12002 -b 服務(wù)器地址:12003' ????????memcached1: ????????????????image: docker2.gs.com:5000/app-open/memcached ????????????????ports: ??????????????????-?'12002:11211' ????????memcached2: ????????????????image: docker2.gs.com:5000/app-open/memcached ????????????????ports: ??????????????????-?'12003:11211'
執(zhí)行:
Creating network magent_magent Creating service magent_magent Creating service magent_memcached1 Creating service magent_memcached2
測試驗證:telnet服務(wù)器地址12001,telnet服務(wù)器地址12002,telnet服務(wù)器地址12003
但是本次搭建時,服務(wù)器上的docker是1.10,無法執(zhí)行docker stack命令,因此需要手動啟動。
手動部署memcached
首先,更改Dockerfile,刪除CMD內(nèi)容。
FROM docker2.gs.com:5000/app-open/centos:7.2.1511 ADD magent?/tmp/magent RUN yum?install?-y gcc?make?libevent-devel.x86_64 && yum clean all &&?cd?/tmp/magent/?&&?/sbin/ldconfig?&&?make?&&?cp?magent?/usr/bin/ # docker 1.13及以上使用該命令 # CMD magent -u root -l 0.0.0.0 -p 12000 -s 服務(wù)器地址:11211 -b 服務(wù)器地址:11211
然后手動部署memcached
docker run -d -p 12001:11211 --name memcached1?docker2.gs.com:5000/app-open/memcached docker run -d -p 12002:11211 --name memcached2?docker2.gs.com:5000/app-open/memcached docker run -d -p 12003:11211 --name memcached3?docker2.gs.com:5000/app-open/memcached
測試驗證memcached
telnet服務(wù)器地址12001,telnet服務(wù)器地址12002,telnet服務(wù)器地址12003

到此這篇關(guān)于docker搭建memcached的文章就介紹到這了,更多相關(guān)docker搭建memcached內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

