【Docker】Memcached 容器化部署

Memcached环境标准软件基于Bitnami Memcached 构建。当前版本为1.6.24

你可以通过轻云UC部署工具直接安装部署,也可以手动按如下文档操作,该项目已经全面开源,可以从如下环境获取
配置文件地址: https://gitee.com/qingplus/qingcloud-platform

QingHub部署

什么是 Memcached?

Memcached 是一种高性能、分布式内存对象缓存系统,本质上是通用的,但旨在通过减轻数据库负载来加速动态 Web 应用程序。

Memcached 商标概述 :该软件列表由 Bitnami 打包。产品中提到的各个商标归各自公司所有,使用它们并不意味着任何隶属关系或认可。

##长话短说

docker run --name memcached bitnami/memcached:latest

为什么使用 Bitnami 图片?

Bitnami 密切跟踪上游源代码更改,并使用我们的自动化系统及时发布该图像的新版本。
通过 Bitnami 镜像,可以尽快获得最新的错误修复和功能。
Bitnami 容器、虚拟机和云映像使用相同的组件和配置方法 - 可以根据您的项目需求轻松在格式之间切换。
我们所有的镜像都基于minideb - 一个基于 Debian 的极简容器镜像,为您提供一个小型基础容器镜像和领先的 Linux 发行版的熟悉度 - 或从头开始- 一个明确的空镜像 -。
Docker Hub 中提供的所有 Bitnami 镜像均已使用Docker Content Trust (DCT)进行签名。您可以使用它DOCKER_CONTENT_TRUST=1来验证图像的完整性。
Bitnami 容器镜像定期发布,并提供最新的分发包。
希望在生产中使用 Memcached?尝试VMware Tanzu 应用程序目录,这是 Bitnami 应用程序目录的企业版。

如何在 Kubernetes 中部署 Memcached?

将 Bitnami 应用程序部署为 Helm Charts 是在 Kubernetes 上开始使用我们的应用程序的最简单方法。在Bitnami Memcached Chart GitHub 存储库中了解有关安装的更多信息。

Bitnami 容器可以与Kubeapps一起使用,以在集群中部署和管理 Helm Charts。

获取此图像

获取 Bitnami Memcached Docker 映像的推荐方法是从Docker Hub 中提取预构建的映像。

docker pull bitnami/memcached:latest

要使用特定版本,您可以拉取版本化标签。您可以在 Docker Hub 中查看可用版本的列表。

docker pull bitnami/memcached:[TAG]

如果您愿意,您还可以通过克隆存储库、更改为包含 Dockerfile 的目录并执行命令来自行构建映像docker build。请记住将下面示例命令中的APP,VERSION和路径占位符替换为正确的值。OPERATING-SYSTEM

git clone https://github.com/bitnami/containers.git
cd bitnami/APP/VERSION/OPERATING-SYSTEM
docker build -t bitnami/APP: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

配置

环境变量

可定制的环境变量
NameDescriptionDefault Value
MEMCACHED_PORT_NUMBERMemcached 使用的端口号11211
MEMCACHED_USERNAMEMemcached admin 用户名。root
MEMCACHED_MAX_TIMEOUTMemcached 启动或停止的最大超时(以秒为单位)5
只读环境变量
NameDescriptionValue
MEMCACHED_BASE_DIRMemcached 安装目录${BITNAMI_ROOT_DIR}/memcached
MEMCACHED_CONF_DIRMemcached 配置目录。${MEMCACHED_BASE_DIR}/conf
MEMCACHED_DEFAULT_CONF_DIRMemcached 配置目录${MEMCACHED_BASE_DIR}/conf.default
MEMCACHED_BIN_DIR二进制可执行文件的 Memcached 目录。${MEMCACHED_BASE_DIR}/bin
MEMCACHED_TMP_DIRMemcached 临时文件目录。${MEMCACHED_BASE_DIR}/tmp
MEMCACHED_LOGS_DIRMemcached 日志目录。${MEMCACHED_BASE_DIR}/logs
MEMCACHED_LOG_FILEMemcached 日志文件的路径。${MEMCACHED_LOGS_DIR}/memcached.log
MEMCACHED_PID_FILEMemcached PID 文件的路径。${MEMCACHED_TMP_DIR}/memcached.pid
SASL_CONF_PATHMemcached SASL 配置目录。${MEMCACHED_CONF_DIR}/sasl2
SASL_CONF_FILEMemcached SASL 配置${SASL_CONF_PATH}/memcached.conf
SASL_DB_FILEMemcached SASL 数据库文件。${SASL_CONF_PATH}/memcachedsasldb
MEMCACHED_DAEMON_USERMemcached 系统用户。memcached
MEMCACHED_DAEMON_GROUPMemcached 系统组。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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/736273.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ARM TrustZone技术解析:构建嵌入式系统的安全扩展基石

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-dSk2aQ85ZR0zxnyI {font-family:"trebuchet ms",verdana,arial,sans-serif;f…

【机器学习】进阶学习:详细解析Sklearn中的MinMaxScaler---原理、应用、源码与注意事项

【机器学习】进阶学习:详细解析Sklearn中的MinMaxScaler—原理、应用、源码与注意事项 这篇文章的质量分达到了97分,虽然满分是100分,但已经相当接近完美了。请您耐心阅读,我相信您一定能从中获得不少宝贵的收获和启发~ &#x1f…

free pascal 调用 C#程序读 Freeplane.mm文件,生成测试用例.csv文件

C# 请参阅:C# 用 System.Xml 读 Freeplane.mm文件,生成测试用例.csv文件 Freeplane 是一款基于 Java 的开源软件,继承 Freemind 的思维导图工具软件,它扩展了知识管理功能,在 Freemind 上增加了一些额外的功能&#x…

hadoop报错:HADOOP_HOME and hadoop.home.dir are unset. 解决方法

参考:https://blog.csdn.net/weixin_45735242/article/details/120579387 解决方法 1.下载apache-hadoop-3.1.0-winutils-master 官网下载地址: https://github.com/s911415/apache-hadoop-3.1.0-winutils win配置系统环境: 然后重启idea…

一文了解原型和原型链

本文重点概念: 1、所有的对象都是new一个函数创建的 2、所有的函数都有一个属性prototype,称为函数原型 3、函数原型得到的这个对象都有一个属性constructor,指向该函数 4、所有的对象都有一个属性:隐式原型__proto__,隐式原型…

How to use conda in Ubuntu 22.04

How to use conda in Ubuntu 22.04 切换清华源创建环境查看环境激活环境查看环境中的包在环境中安装包退出当前环境命令行自动补全 切换清华源 sudo tee ~/.condarc <<-EOF auto_activate_base: falsechannels:- defaults show_channel_urls: true default_channels:- h…

机器学习,剪刀,石头,布

计算机视觉:剪刀,石头,步 TensorFlow AI人工智能及Machine Learning训练图集的下载建立分类模型并用图像进行训练检验模型总结当前AI Machine Learning 异常火爆,希望在MCU上使用机器学习,做图像识别的工作。看到一个剪刀,石头,步的学习程序,给大家分享一下。 TensorFl…

Visual studio编译器报1个无法解析的外部命令

解决思路&#xff1a;&#xff08;以下思路需对照代码进行逐点分析&#xff09; ①&#xff1a;代码里函数有声明&#xff0c;但是没有定义 &#xff08;初学者错这个比较多&#xff09; ②&#xff1a;类中有静态变量成员&#xff0c;没有对它进行初始化&#xff08;是变量&…

【前端】原子化UnoCSS使用

介绍 有时候我们会遇到样式复用的情况&#xff0c;需要将一些相同的样式提取到一个 class 中。手动将每个原子粒的样式提取出来非常耗时耗力。曾经使用过 Bootstrap&#xff0c;但它会将没有使用到的类样式也打包到生产环境中&#xff0c;影响了性能。我们需要的是只打包使用到…

Buran勒索病毒通过Microsoft Excel Web查询文件进行传播

Buran勒索病毒首次出现在2019年5月&#xff0c;是一款新型的基于RaaS模式进行传播的新型勒索病毒&#xff0c;在一个著名的俄罗斯论坛中进行销售&#xff0c;与其他基于RaaS勒索病毒(如GandCrab)获得30%-40%的收入不同&#xff0c;Buran勒索病毒的作者仅占感染产生的25%的收入,…

一个python小白,如何利用chatgpt帮忙写代码?

PS: ChatGPT无限次数&#xff0c;无需魔法&#xff0c;登录即可使用,网页打开下面 tj4.mnsfdx.net 点击跳转链接 专栏里前边几篇文章主要是如何使用提示工程更好地与chatgpt聊天&#xff0c;获得需要的数据&#xff0c;即电商评论意图。 而要系统性地实现这个功能&#xff0c…

AI创造的壁纸,每一幅都是视觉盛宴!

1、方小童在线工具集 网址&#xff1a; 方小童 该网站是一款在线工具集合的网站&#xff0c;目前包含PDF文件在线转换、随机生成美女图片、精美壁纸、电子书搜索等功能&#xff0c;喜欢的可以赶紧去试试&#xff01;

本地部署推理TextDiffuser-2:释放语言模型用于文本渲染的力量

系列文章目录 文章目录 系列文章目录一、模型下载和环境配置二、模型训练&#xff08;一&#xff09;训练布局规划器&#xff08;二&#xff09;训练扩散模型 三、模型推理&#xff08;一&#xff09;准备训练好的模型checkpoint&#xff08;二&#xff09;全参数推理&#xff…

2021年江苏省职业院校技能大赛高职组 “信息安全管理与评估”赛项任务书

2021年江苏省职业院校技能大赛高职组 “信息安全管理与评估”赛项任务书 一、赛项时间&#xff1a;二、赛项信息三、竞赛内容&#xff1a;第一阶段任务书&#xff08;300分&#xff09;任务1&#xff1a;网络平台搭建&#xff08;60分&#xff09;任务2&#xff1a;网络安全设备…

Leetcode 3077. Maximum Strength of K Disjoint Subarrays

Leetcode 3077. Maximum Strength of K Disjoint Subarrays 1. 解题思路 1. 朴素思路2. 算法优化 2. 代码实现 题目链接&#xff1a;3077. Maximum Strength of K Disjoint Subarrays 1. 解题思路 这道题很惭愧没有搞定&#xff0c;思路上出现了差错&#xff0c;导致一直没能…

AI预测福彩3D第6弹【2024年3月11日预测--新算法重新开始计算日期】

由于周末休息了两天&#xff0c;没有更新文章&#xff0c;这两天也没有对福彩3D的预测。今天继续咱们使用AI算法来预测3D吧~ 前面我说过&#xff0c;我的目标是能让百十个各推荐7个号码&#xff0c;其中必有中奖号码&#xff0c;这就是7码定位&#xff0c;只要7码定位稳定了&am…

【前端系列】CSS 常见的选择器

CSS 常见的选择器 CSS&#xff08;层叠样式表&#xff09;是一种用于描述网页样式的标记语言&#xff0c;它定义了网页中各个元素的外观和布局。在 CSS 中&#xff0c;选择器是一种用于选择要应用样式的 HTML 元素的模式。选择器允许开发人员根据元素的类型、属性、关系等来选…

JVM3_数据库连接池虚引用ConnectionFinalizerPhantomReference引起的FullGC压力问题排查

背景 XOP服务运行期间&#xff0c;查看Grafana面板&#xff0c;发现堆内存周期性堆积&#xff0c;观察FullGC的时间&#xff0c;xxx&#xff0c;需要调查下原因 目录 垃圾收集器概述 常见的垃圾收集器分区收集策略为什么CMS没成为默认收集器 查看JVM运行时环境分析快照 Pha…

基于PCtoLCD实现OLED汉字取模方法

0 工具准备 PCtoLCD2002 NodeMCU&#xff08;ESP8266&#xff09;&#xff08;验证OLED字模效果&#xff09; 0.96寸OLED显示屏 1 基于PCtoLCD实现OLED汉字取模方法 1.1 基础知识介绍 0.96存OLED显示屏包含128x64个像素点&#xff0c;x轴方向为128个像素点&#xff0c;y轴方向…

Android打开、关闭网络

Android手机的网络一般有两种&#xff0c;WiFi网络和移动数据网络。 对网络进行操作前需要静态申请权限&#xff0c;因为并不会对隐私产生危害&#xff0c;所以只需要静态申请。 <!--查看数据网络状态&#xff0c;无需动态申请--> <uses-permission android:name&qu…