小知识:docker搭建memcached的详细步骤

Magent 是一款开源的 Memcached 代理服务器软件,使用它可以搭建高可用性的集群应用的 Memcached 服务 ,备份 Memcached 数据,尽管 Memcached 服务挂掉,前端也能获取到数据,客户端先连到 Magent 代理服务器 ,然后Magent 代理服务器 在可以连接多台 Memcached 服务器,然后可以进行数据的保存和备份数据。这样数据就不会丢失,保存了数据完整性。这篇文章给大家介绍docker搭建memcached的步骤。

搭建步骤

worker登录机器

新建文件夹

?
1
2
3
4
mkdir memcache
cd memcache 
mkdir magent
cd magent 

下载magent-0.5.tar.gz并安装

将文件传送至服务器上

?
1
tar -zxvf magent-0.5.tar.gz 

root登录机器

执行/sbin/ldconfig

?
1
sed -i “s#LIBS = -levent#LIBS = -levent -lm#g” Makefile

vi magent.c,将以下内容添加在magent.c开头处

?
1
2
3
#ifndef SSIZE_MAX
#define SSIZE_MAX 32767
#endif

返回上级目录 cd..

创建Dockerfile并构建镜像

vimDockerfile,将以下内容录入Dockerfile中。

?
1
2
3
4
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

?
1
2
3
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

提交

?
1
docker push docker2.gs.com:5000/app-open/magent:v1

pull memcached镜像

本地pull,push到公司私有镜像源,服务器更新magent.yml 文件,pullmemcached

本地

?
1
2
3
4
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进行部署。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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

执行:

?
1
2
3
4
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内容。

?
1
2
3
4
5
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

?
1
2
3
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

%小知识:docker搭建memcached的详细步骤-猿站网-插图

到此这篇关于docker搭建memcached的文章就介绍到这了,更多相关docker搭建memcached内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

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

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Docker Compose部署微服务项目上线功能

2023-3-6 13:02:56

建站知识

小知识:Docker容器搭建android编译环境的实践记录

2023-3-6 13:09:46

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索