【Docker】Memcached 容器化部署
Memcached环境标准软件基于Bitnami Memcached 构建。当前版本为1.6.24
你可以通过轻云UC部署工具直接安装部署,也可以手动按如下文档操作,该项目已经全面开源,可以从如下环境获取
配置文件地址: https://gitee.com/qingplus/qingcloud-platform
QingHub部署
什么是 Memcached?
Memcached 是一种高性能、分布式内存对象缓存系统,本质上是通用的,但旨在通过减轻数据库负载来加速动态 Web 应用程序。
运行
docker run --name memcached bitnami/memcached:latest
连接到其他容器
使用Docker 容器网络,应用程序容器可以轻松访问容器内运行的 Memcached 服务器。
连接到同一网络的容器可以使用容器名称作为主机名来相互通信。
使用命令行
第 1 步:创建网络
docker network create app-tier --driver bridge
步骤 2:启动 Memcached 服务器实例
使用命令–network app-tier的参数docker run将 Memcached 容器连接到网络app-tier。
docker run -d --name memcached-server \--network app-tier \bitnami/memcached:latest
第 3 步:启动应用程序容器
docker run -d --name myapp \--network app-tier \YOUR_APPLICATION_IMAGE
重要的:
请使用您的应用程序图片更新上述代码段中的YOUR_APPLICATION_IMAGE_占位符
在您的应用程序容器中,使用主机名memcached-server连接到 Memcached 服务器
使用 Docker Compose 文件
如果未指定,Docker Compose 会自动设置一个新网络并将所有已部署的服务附加到该网络。但是,我们将显式定义一个bridge名为 的新网络app-tier。在此示例中,我们假设您希望从您自己的自定义应用程序映像连接到 Memcached 服务器,该映像在以下代码段中通过服务名称进行标识myapp。
version: '2'networks:app-tier:driver: bridgeservices:memcached:image: 'bitnami/memcached:latest'networks:- app-tiermyapp:image: 'YOUR_APPLICATION_IMAGE'networks:- app-tier
重要的:
请使用您的应用程序图片更新上述代码段中的YOUR_APPLICATION_IMAGE_占位符
在您的应用程序容器中,使用主机名memcached连接到 Memcached 服务器.
使用以下命令启动容器:
docker-compose up -d
配置
环境变量
可定制的环境变量
| Name | Description | Default Value |
|---|---|---|
MEMCACHED_PORT_NUMBER | Memcached 使用的端口号 | 11211 |
MEMCACHED_USERNAME | Memcached admin 用户名。 | root |
MEMCACHED_MAX_TIMEOUT | Memcached 启动或停止的最大超时(以秒为单位) | 5 |
只读环境变量
| Name | Description | Value |
|---|---|---|
MEMCACHED_BASE_DIR | Memcached 安装目录 | ${BITNAMI_ROOT_DIR}/memcached |
MEMCACHED_CONF_DIR | Memcached 配置目录。 | ${MEMCACHED_BASE_DIR}/conf |
MEMCACHED_DEFAULT_CONF_DIR | Memcached 配置目录 | ${MEMCACHED_BASE_DIR}/conf.default |
MEMCACHED_BIN_DIR | 二进制可执行文件的 Memcached 目录。 | ${MEMCACHED_BASE_DIR}/bin |
MEMCACHED_TMP_DIR | Memcached 临时文件目录。 | ${MEMCACHED_BASE_DIR}/tmp |
MEMCACHED_LOGS_DIR | Memcached 日志目录。 | ${MEMCACHED_BASE_DIR}/logs |
MEMCACHED_LOG_FILE | Memcached 日志文件的路径。 | ${MEMCACHED_LOGS_DIR}/memcached.log |
MEMCACHED_PID_FILE | Memcached PID 文件的路径。 | ${MEMCACHED_TMP_DIR}/memcached.pid |
SASL_CONF_PATH | Memcached SASL 配置目录。 | ${MEMCACHED_CONF_DIR}/sasl2 |
SASL_CONF_FILE | Memcached SASL 配置 | ${SASL_CONF_PATH}/memcached.conf |
SASL_DB_FILE | Memcached SASL 数据库文件。 | ${SASL_CONF_PATH}/memcachedsasldb |
MEMCACHED_DAEMON_USER | Memcached 系统用户。 | memcached |
MEMCACHED_DAEMON_GROUP | Memcached 系统组。 | memcached |
指定缓存大小
默认情况下,Bitnami Memcached 容器不会指定任何缓存大小,并将以 Memcached 默认值 (64MB) 启动。您可以使用环境变量指定不同的值MEMCACHED_CACHE_SIZE(以 MB 为单位)。
docker run --name memcached -e MEMCACHED_CACHE_SIZE=128 bitnami/memcached:latest
或者通过修改docker-compose.yml此存储库中存在的文件:
services:memcached:...environment:- MEMCACHED_CACHE_SIZE=128...
指定最大并发连接数
默认情况下,Bitnami Memcached 容器不会指定任何最大并发连接数,并将以 Memcached 默认值(1024 个并发连接)启动。您可以使用环境变量指定不同的值MEMCACHED_MAX_CONNECTIONS。
docker run --name memcached -e MEMCACHED_MAX_CONNECTIONS=2000 bitnami/memcached:latest
或者通过修改docker-compose.yml此存储库中存在的文件:
services:memcached:...environment:- MEMCACHED_MAX_CONNECTIONS=2000...
指定处理请求的线程数
默认情况下,Bitnami Memcached 容器不会指定处理请求的线程数量,并且将从 Memcached 默认值(4 个线程)开始。您可以使用环境变量指定不同的值MEMCACHED_THREADS。
docker run --name memcached -e MEMCACHED_THREADS=4 bitnami/memcached:latest
或者通过修改docker-compose.yml此存储库中存在的文件:
services:memcached:...environment:- MEMCACHED_THREADS=4...
指定最大项目尺寸(板尺寸)
默认情况下,Memcached 容器不会指定任何最大项目大小,并将以 Memcached 默认值(1048576 ~ 1 MB)开始。您可以使用环境变量指定不同的值MEMCACHED_MAX_ITEM_SIZE。仅接受数字值 - 使用8388608而不是8m
docker run --name memcached -e MEMCACHED_MAX_ITEM_SIZE=8388608 bitnami/memcached:latest
或者通过修改docker-compose.yml此存储库中存在的文件:
services:memcached:...environment:- MEMCACHED_MAX_ITEM_SIZE=8388608...
创建 Memcached 管理员用户
默认情况下,Memcached 服务器上的身份验证处于禁用状态。MEMCACHED_PASSWORD要启用身份验证,请使用环境变量(或在 中指定的文件内容中MEMCACHED_PASSWORD_FILE)指定 Memcached 管理员用户的密码。
要自定义 Memcached 管理员用户的用户名(默认为 ) ,应指定root该变量。MEMCACHED_USERNAME
docker run --name memcached \-e MEMCACHED_USERNAME=my_user \-e MEMCACHED_PASSWORD=my_password \bitnami/memcached:latest
或者通过修改docker-compose.yml此存储库中存在的文件:
version: '2'services:memcached:...environment:- MEMCACHED_USERNAME=my_user- MEMCACHED_PASSWORD=my_password...
MEMCACHED_USERNAME的默认值为root。
将额外的命令行标志传递给 memcached
通过将额外的命令行标志添加为run.sh脚本的参数,可以将额外的命令行标志传递给 Memcached 服务命令:
docker run --name memcached bitnami/memcached:latest /opt/bitnami/scripts/memcached/run.sh -vvv
或者,修改docker-compose.yml此存储库中存在的文件:
services:memcached:...command: /opt/bitnami/scripts/memcached/run.sh -vvv...
有关完整参数列表,请参阅Memcached 手册页。
使用自定义 SASL 配置
为了加载您自己的 SASL 配置文件,您必须使它们可供容器使用。您可以执行以下操作:
- 使用您的自定义配置安装卷
- 通过环境变量添加自定义配置。
默认情况下,启用身份验证后,Memcached 的 SASL 配置将写入/opt/bitnami/memcached/sasl2/memcached.conf包含以下内容的文件:
mech_list: plain
sasldb_path: /opt/bitnami/memcached/conf/memcachedsasldb
这/opt/bitnami/memcached/conf/memcachedsasldb是包含 Memcached 用户列表的 sasldb 文件的路径。
记录
Bitnami Memcached Docker 映像将容器日志发送到stdout. 要查看日志:
docker logs memcached
或使用 Docker Compose:
docker-compose logs memcached
如果您希望以不同方式使用容器日志,您可以使用该选项配置容器日志记录驱动程序。–log-driver在默认配置中,docker 使用json-file驱动程序。
维护
升级此图像
Bitnami 在上游发布后不久就提供了最新版本的 Memcached,包括安全补丁。我们建议您按照以下步骤升级容器。
第 1 步:获取更新后的图像
docker pull bitnami/memcached:latest
或者,如果您使用的是 Docker Compose,请将 image 属性的值更新为 bitnami/memcached:latest.
第2步:删除当前正在运行的容器
docker rm -v memcached
或使用 Docker Compose:
docker-compose rm -v memcached
第 3 步:运行新镜像
从新映像重新创建容器。
docker run --name memcached bitnami/memcached:latest
或使用 Docker Compose:
docker-compose up memcached
相关文章:
【Docker】Memcached 容器化部署
Memcached环境标准软件基于Bitnami Memcached 构建。当前版本为1.6.24 你可以通过轻云UC部署工具直接安装部署,也可以手动按如下文档操作,该项目已经全面开源,可以从如下环境获取 配置文件地址: https://gitee.com/qingplus/qingcloud-platf…...
Langchain-Chatchat本地搭建ChatGLM3模型和提取PDF内容
文章目录 1、软件要求2、安装CUDA2.1、安装gcc2.2、安装CUDA 3、安装Anaconda33.1、下载Anaconda33.2、创建python虚拟环境 4、部署系统4.1、下载源码4.2、安装依赖4.3、下载模型4.4、初始化配置和知识库4.4.1、初始化配置4.4.2、初始化知识库 4.5、运行4.6、运行4.6.1、启动4.…...
案例分析篇03:一篇文章搞定软考设计模式考点(2024年软考高级系统架构设计师冲刺知识点总结系列文章)
专栏系列文章推荐: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html 【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例分析篇-…...
套接字的地址结构,IP地址转换函数,网络编程的接口
目录 一、套接字的地址结构 1.1 通用socket地址结构 1.2 专用socket地址结构 1.2.1 tcp协议族 1.2.3 IP协议族 二、IP地址转换函数 三、网络编程接口 3.1 socket() 3.2 bind() 3.3 listen() 3.4 accept() 3.5 connect() 3.6 close() 3.7 recv()、send() 3.8 recv…...
Java回顾总结--RandomAccessFile和NIO
目录 一、RandomAccessFile1.1 为什么要有RandomAccessFile?1.2 常用方法简介1.3 RandomAccessFile 特点和优势1.3.1 既可以读也可以写1.3.2 可以指定位置读写 1.4 示例 二、NIONIO使用示例 一、RandomAccessFile 1.1 为什么要有RandomAccessFile? Ran…...
2024年3月第15届蓝桥杯青少组STEMA考试C++中高级真题试卷
第15届蓝桥杯青少组STEMA考试C中高级真题试卷(2024年3月) 题目总数:11 总分数:400 选择题 第 1 题 单选题 (110010)2(c3)16的结果是( )。 A. (240)10 B. (11110101)2 C. (366)8 D. (f6)16 第 2 题 单选题 …...
Hyperf AOP 和 注解
注解 (hyperf.wiki) AOP 面向切面编程 (hyperf.wiki) 切面 定义切面(Aspect) 根据官方教程定义一个切面。可以指定类、方法、参数和注解上生效。 <?php namespace App\Aspect;use App\Service\SomeClass; use App\Annotation\SomeAnnotation; use Hyperf\Di\Annotatio…...
【C++】string类(介绍、常用接口)
🌈个人主页:秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343🔥 系列专栏:http://t.csdnimg.cn/eCa5z 目录 string类的常用接口说明 string类对象的常见构造 编辑 string字符串的遍历(迭代器…...
SpringBoot项目中同时支持https和http协议
实用干货!看壹哥如何在SpringBoot项目中同时支持https和http协议_springboot http htpps共存-CSDN博客...
三大排序:冒泡、选择、插入
冒泡排序: 冒泡排序(Bubble Sort)是一种简单的排序算法。它通过比较相邻元素的大小,并交换它们的位置,使较大(或较小)的元素逐渐“浮”到数组的一端,从而实现排序的目的。 下面是冒…...
Android中MultiDex优化
MultiDex基本思路 当一个Dex文件太肥的时候(方法数目太多、文件太大),在打包或在安装或运行apk也会出问题。 解决方法就是将这个硕大的Dex文件拆分成若干个小的Dex文件。 刚好一个ClassLoader可以有多个DexFile。 MultiDex主要性能瓶颈 解压缩和Dex优化(…...
MySQL 8.0 的执行计划(EXPLAIN)
MySQL 8.0 的执行计划(也称为“EXPLAIN”计划)是数据库优化器为 SQL 查询生成的步骤序列。解读执行计划可以帮助数据库管理员(DBA)和开发者理解查询如何执行,识别潜在的性能问题,并据此优化查询。 下面是如…...
leetcode——二叉树问题汇总
leetcode 144. 二叉树的前序遍历 ①递归法: /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val,…...
Android基础开发-饿汉式申请权限
1、案例,打开app时,就要申请权限 直接在onCreateView中申请所有权限就可,然后在选择的回调里边判断申请的结果 package com.example.client;import android.Manifest; import android.content.Intent; import android.content.pm.PackageMa…...
java Day7 正则表达式|异常
文章目录 1、正则表达式1.1 常用1.2 字符串匹配,提取,分割 2、异常2.1 运行时异常2.2 编译时异常2.3 自定义异常2.3.1 自定义编译时异常2.3.2 自定义运行时异常 1、正则表达式 就是由一些特定的字符组成,完成一个特定的规则 可以用来校验数据…...
Python算法题集_搜索二维矩阵
Python算法题集_搜索二维矩阵 题74:搜索二维矩阵1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【矩阵展开为列表二分法】2) 改进版一【行*列区间二分法】3) 改进版二【第三方模块】 4. 最优算法5. 相关资源 本文为Python算法题集之…...
学习笔记:顺序表和链表(一、顺序表)
首先来个导言: 1.数组的优势:下标的随机访问,物理空间连续。数组指针用[ ]或者 * , 结构体指针用 - > 2.书写习惯 test.c写出主体框架 QelList.c写出结构体、头文件、函数声明 QelList.c写出函数的实现 3.挪动:如果从前…...
Midjourney从入门到实战:图像生成命令及参数详解
目录 0 专栏介绍1 Midjourney Bot常用命令2 Midjourney绘图指令格式3 Midjourney绘图指令参数3.1 模型及版本3.2 画面比例3.3 风格化3.4 图片质量3.5 混乱值3.6 随机数种子3.7 重复贴图3.8 停止3.8 垫图权重3.9 提示词权重分割 0 专栏介绍 🔥Midjourney是目前主流的…...
C语言分析基础排序算法——插入排序
目录 插入排序 直接插入排序 希尔排序 希尔排序基本思路解析 希尔排序优化思路解析 完整希尔排序文件 插入排序 直接插入排序 所谓直接插入排序,即每插入一个数据和之前的数据进行大小比较,如果较大放置在后面,较小放置在前面&#x…...
海格里斯HEGERLS智能托盘四向车系统为物流仓储自动化升级提供新答案
随着实体企业面临需求多样化、订单履行实时化、商业模式加速迭代等挑战,客户对物流仓储解决方案的需求也逐渐趋向于柔性化、智能化。作为近十年来发展起来的新型智能仓储设备,四向车系统正是弥补了先前托盘搬运领域柔性解决方案的空白。随着小车本体设计…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
