1. 首页
  2. 技术知识

docker搭建memcached的详细步骤

目录

    搭建步骤

      worker登录机器新建文件夹下载magent-0.5.tar.gz并安装创建Dockerfile并构建镜像构建镜像magent:v1pull memcached镜像手动部署memcached测试验证memcached

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

搭建步骤


worker登录机器


新建文件夹

  1. mkdir memcache
  2. cd memcache 
  3. mkdir magent
  4. 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. #ifndef SSIZE_MAX
  2. #define SSIZE_MAX 32767
  3. #endif

复制代码 返回上级目录 cd..

创建Dockerfile并构建镜像

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

  1. FROM centos:7
  2. ADD magent /tmp/magent
  3. RUN yum install -y gcc make libevent-devel.x86_64 && yum clean all && cd /tmp/magent/ && /sbin/ldconfig && make && cp magent /usr/bin/
  4. 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. docker build -t magent:v1 -f ./Dockerfile . 
  2. docker tag magent:v1 docker2.gs.com:5000/app-open/magent:v1
  3. 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. docker pull memcached
  2. docker images
  3. docker tag memcached docker2.gs.com:5000/app-open/memcached
  4. docker push docker2.gs.com:5000/app-open/memcached

复制代码 如果docker 版本号大于1.13 则在服务器vimmagent.yml,将以下内容录入后保存。并执行docker stack deploy -c magent.yml magent进行部署。

  1. version: ‘3.2’
  2. services:
  3.         magent:
  4.                 image: docker2.gs.com:5000/app-open/magent:v1
  5.                 ports:
  6.                   – ‘12001:12000’
  7.                 command: ‘magent -u root -D -v -l 0.0.0.0 -p 12000 -s 服务器地址:12002 -b 服务器地址:12003’
  8.         memcached1:
  9.                 image: docker2.gs.com:5000/app-open/memcached
  10.                 ports:
  11.                   – ‘12002:11211’
  12.         memcached2:
  13.                 image: docker2.gs.com:5000/app-open/memcached
  14.                 ports:
  15.                   – ‘12003:11211’

复制代码 执行:

  1. Creating network magent_magent
  2. Creating service magent_magent
  3. Creating service magent_memcached1
  4. Creating service magent_memcached2

复制代码 测试验证:telnet服务器地址12001,telnet服务器地址12002,telnet服务器地址12003

但是本次搭建时,服务器上的docker是1.10,无法执行docker stack命令,因此需要手动启动。

手动部署memcached

首先,更改Dockerfile,删除CMD内容。

  1. FROM docker2.gs.com:5000/app-open/centos:7.2.1511
  2. ADD magent /tmp/magent
  3. RUN yum install -y gcc make libevent-devel.x86_64 && yum clean all && cd /tmp/magent/ && /sbin/ldconfig && make && cp magent /usr/bin/
  4. # docker 1.13及以上使用该命令
  5. # CMD magent -u root -l 0.0.0.0 -p 12000 -s 服务器地址:11211 -b 服务器地址:11211

复制代码 然后手动部署memcached

  1. docker run -d -p 12001:11211 –name memcached1 docker2.gs.com:5000/app-open/memcached
  2. docker run -d -p 12002:11211 –name memcached2 docker2.gs.com:5000/app-open/memcached
  3. 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内容请搜索软件技术网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件技术网!

原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/109151.html

联系我们