docker搭建memcached的詳細(xì)步驟
Magent 是一款開源的 Memcached 代理服務(wù)器軟件,使用它可以搭建高可用性的集群應(yīng)用的 Memcached 服務(wù) ,備份 Memcached 數(shù)據(jù),盡管 Memcached 服務(wù)掛掉,前端也能獲取到數(shù)據(jù),客戶端先連到 Magent 代理服務(wù)器 ,然后Magent 代理服務(wù)器 在可以連接多臺(tái) Memcached 服務(wù)器,然后可以進(jìn)行數(shù)據(jù)的保存和備份數(shù)據(jù)。這樣數(shù)據(jù)就不會(huì)丟失,保存了數(shù)據(jù)完整性。這篇文章給大家介紹docker搭建memcached的步驟。
搭建步驟
worker登錄機(jī)器
新建文件夾
mkdir memcache cd memcache? mkdir magent cd magent?
下載magent-0.5.tar.gz并安裝
將文件傳送至服務(wù)器上
tar -zxvf magent-0.5.tar.gz?
root登錄機(jī)器
執(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
返回上級(jí)目錄 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 從默認(rèn)鏡像源拉取鏡像,非常非常非常慢!如果公司有鏡像,可通過本地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 確認(rèn)該鏡像存在 即: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 版本號(hào)大于1.13 則在服務(wù)器vimmagent.yml,將以下內(nèi)容錄入后保存。并執(zhí)行docker stack deploy -c magent.yml magent進(jìn)行部署。
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
測試驗(yàn)證:telnet服務(wù)器地址12001,telnet服務(wù)器地址12002,telnet服務(wù)器地址12003
但是本次搭建時(shí),服務(wù)器上的docker是1.10,無法執(zhí)行docker stack命令,因此需要手動(dòng)啟動(dòng)。
手動(dòng)部署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
然后手動(dòng)部署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
測試驗(yàn)證memcached
telnet服務(wù)器地址12001,telnet服務(wù)器地址12002,telnet服務(wù)器地址12003
到此這篇關(guān)于docker搭建memcached的文章就介紹到這了,更多相關(guān)docker搭建memcached內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker環(huán)境中websocket?通過nginx代理不通解決方案
這篇文章主要介紹了docker環(huán)境中websocket?通過nginx代理不通解決方案,下面是一些可能會(huì)導(dǎo)致?WebSocket?代理失敗的問題以及相應(yīng)的解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05Dockerfile 中 VOLUME 與 docker -v 的區(qū)別說明
這篇文章主要介紹了Dockerfile 中 VOLUME 與 docker -v 的區(qū)別說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03云原生自動(dòng)化應(yīng)用于docker倉庫私有憑據(jù)secret創(chuàng)建
這篇文章主要為大家介紹了云原生自動(dòng)化應(yīng)用于docker倉庫私有憑據(jù)secret創(chuàng)建,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03解決Docker之mysql容器數(shù)據(jù)庫更改不生效的問題
這篇文章主要介紹了解決Docker之mysql容器數(shù)據(jù)庫更改不生效的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11詳解docker nginx 容器啟動(dòng)掛載到本地
這篇文章主要介紹了詳解docker nginx 容器啟動(dòng)掛載到本地,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07docker redis5.0 cluster集群搭建的實(shí)現(xiàn)
這篇文章主要介紹了docker redis5.0 cluster集群搭建的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02淺談Docker運(yùn)行Tensorboard和jupyter的方法
本篇文章主要介紹了淺談Docker 運(yùn)行Tensorboard 和 jupyter的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03Docker鏡像構(gòu)建原理解析(不裝docker也能構(gòu)建鏡像)
這篇文章主要介紹了Docker鏡像構(gòu)建原理解析(不裝docker也能構(gòu)建鏡像),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03