docker搭建memcached的详细步骤

 更新时间:2022年07月04日 12:02:09   作者:jxba  
Memcached 是一个通用的分布式内存缓存系统,它通常用于通过在 RAM 中缓存数据和对象来加速动态数据库驱动的网站,以减少必须读取外部数据源(例如数据库或 API)的次数,这篇文章主要介绍了docker搭建memcache,需要的朋友可以参考下

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

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

您可能感兴趣的文章:

相关文章

  • Docker容器进行健康检查的三种方式

    Docker容器进行健康检查的三种方式

    这篇文章主要介绍了如何对Docker容器进行健康检查,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • kali下对Docker的详细安装教程

    kali下对Docker的详细安装教程

    这篇文章主要介绍了kali下对Docker的详细安装,Docker是渗透测试中必学不可的一个容器工具,在其中,我们能够快速创建、运行、测试以及部署应用程序,对kali安装docker相关知识感兴趣的朋友一起看看吧
    2022-05-05
  • Docker容器实现MySQL多源复制场景分析

    Docker容器实现MySQL多源复制场景分析

    这篇文章主要介绍了Docker容器实现MySQL多源复制,通过本文学习可以掌握多源复制的好处,通过使用场景分析给大家介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • docker挂载NVIDIA显卡运行pytorch的方法

    docker挂载NVIDIA显卡运行pytorch的方法

    这篇文章主要介绍了docker挂载NVIDIA显卡运行pytorch的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-02-02
  • docker私有仓库的镜像删除方式

    docker私有仓库的镜像删除方式

    该文章介绍了如何使用Docker私有仓库删除镜像的步骤,包括获取Token、请求镜像列表和删除镜像的具体操作,同时,还解决了在删除镜像时遇到的MANIFEST_UNKNOWN错误,并提供了相应的解决办法
    2025-02-02
  • Docker堆栈的管理操作详解

    Docker堆栈的管理操作详解

    这篇文章主要介绍了Docker堆栈的管理操作,结合实例形式分析了Docker堆栈管理相关的新服务添加、部署、数据持久化等操作技巧与注意事项,需要的朋友可以参考下
    2018-06-06
  • 详解docker pull 下来的镜像都存到了哪里

    详解docker pull 下来的镜像都存到了哪里

    这篇文章主要介绍了详解docker pull 下来的镜像都存到了哪里,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Docker的boot2docker.iso镜像使用

    Docker的boot2docker.iso镜像使用

    这篇文章主要介绍了Docker的boot2docker.iso镜像使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 通过UI管理docker的方法

    通过UI管理docker的方法

    这篇文章主要介绍了通过UI管理docker的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • docker部署tig监控服务教程

    docker部署tig监控服务教程

    本文介绍了使用TIG(Telegraf-InfluxDB-Grafana)架构进行服务监控的方法,通过Docker Compose快速搭建该监控体系,包括Telegraf、InfluxDB和Grafana的安装和配置,Telegraf用于数据采集,InfluxDB用于存储数据,Grafana用于数据可视化,通过配置文件和官方文档
    2024-12-12

最新评论