日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

docker搭建memcached的詳細步驟_docker

作者:jxba ? 更新時間: 2022-08-26 編程語言

Magent 是一款開源的 Memcached 代理服務器軟件,使用它可以搭建高可用性的集群應用的 Memcached 服務 ,備份 Memcached 數據,盡管 Memcached 服務掛掉,前端也能獲取到數據,客戶端先連到 Magent 代理服務器 ,然后Magent 代理服務器 在可以連接多臺 Memcached 服務器,然后可以進行數據的保存和備份數據。這樣數據就不會丟失,保存了數據完整性。這篇文章給大家介紹docker搭建memcached的步驟。

搭建步驟

worker登錄機器

新建文件夾

mkdir memcache
cd memcache?
mkdir magent
cd magent?

下載magent-0.5.tar.gz并安裝

將文件傳送至服務器上

tar -zxvf magent-0.5.tar.gz?

root登錄機器

執行/sbin/ldconfig

sed -i "s#LIBS = -levent#LIBS = -levent -lm#g" Makefile

vi magent.c,將以下內容添加在magent.c開頭處

#ifndef SSIZE_MAX
#define SSIZE_MAX 32767
#endif

返回上級目錄 cd..

創建Dockerfile并構建鏡像

vimDockerfile,將以下內容錄入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 服務器地址:11211 -b 服務器地址: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

服務器然后修改Dockerfile中的FROM centos:7 為FROMdocker2.gs.com:5000/app-open/centos:7.2.1511

構建鏡像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到公司私有鏡像源,服務器更新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 則在服務器vimmagent.yml,將以下內容錄入后保存。并執行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 服務器地址:12002 -b 服務器地址: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'

執行:

Creating network magent_magent
Creating service magent_magent
Creating service magent_memcached1
Creating service magent_memcached2

測試驗證:telnet服務器地址12001,telnet服務器地址12002,telnet服務器地址12003

但是本次搭建時,服務器上的docker是1.10,無法執行docker stack命令,因此需要手動啟動。

手動部署memcached

首先,更改Dockerfile,刪除CMD內容。

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 服務器地址:11211 -b 服務器地址: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服務器地址12001,telnet服務器地址12002,telnet服務器地址12003

原文鏈接:https://www.cnblogs.com/jxba/p/16442356.html

欄目分類
最近更新