Docker Memcached 容器化部署的实现

2024-04-16 0 913
目录
  • 什么是 Memcached?
  • 为什么使用 Bitnami 图片?
  • 如何在 Kubernetes 中部署 Memcached?
  • 获取此图像
  • 连接到其他容器
    • 使用命令行
    • 使用 Docker Compose 文件
  • 配置
    • 环境变量
    • 指定缓存大小
    • 指定最大并发连接数
    • 指定处理请求的线程数
    • 指定最大项目尺寸(板尺寸)
    • 创建 Memcached 管理员用户
    • 将额外的命令行标志传递给 memcached
    • 使用自定义 SASL 配置
  • 记录
    • 维护
      • 升级此图像

    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: bridge

    services:
    memcached:
    image: \’bitnami/memcached:latest\’
    networks:
    – app-tier
    myapp:
    image: \’YOUR_APPLICATION_IMAGE\’
    networks:
    – app-tier

    重要的:

    请使用您的应用程序图片更新上述代码段中的YOUR_APPLICATION_IMAGE_占位符在您的应用程序容器中,使用主机名memcached连接到 Memcached 服务器.

    使用以下命令启动容器:

    docker-compose up -d

    配置

    环境变量

    可定制的环境变量

    NameDescriptionDefault ValueMEMCACHED_PORT_NUMBERMemcached 使用的端口号11211MEMCACHED_USERNAMEMemcached admin 用户名。rootMEMCACHED_MAX_TIMEOUTMemcached 启动或停止的最大超时(以秒为单位)5

    只读环境变量

    NameDescriptionValueMEMCACHED_BASE_DIRMemcached 安装目录${BITNAMI_ROOT_DIR}/memcachedMEMCACHED_CONF_DIRMemcached 配置目录。${MEMCACHED_BASE_DIR}/confMEMCACHED_DEFAULT_CONF_DIRMemcached 配置目录${MEMCACHED_BASE_DIR}/conf.defaultMEMCACHED_BIN_DIR二进制可执行文件的 Memcached 目录。${MEMCACHED_BASE_DIR}/binMEMCACHED_TMP_DIRMemcached 临时文件目录。${MEMCACHED_BASE_DIR}/tmpMEMCACHED_LOGS_DIRMemcached 日志目录。${MEMCACHED_BASE_DIR}/logsMEMCACHED_LOG_FILEMemcached 日志文件的路径。${MEMCACHED_LOGS_DIR}/memcached.logMEMCACHED_PID_FILEMemcached PID 文件的路径。${MEMCACHED_TMP_DIR}/memcached.pidSASL_CONF_PATHMemcached SASL 配置目录。${MEMCACHED_CONF_DIR}/sasl2SASL_CONF_FILEMemcached SASL 配置${SASL_CONF_PATH}/memcached.confSASL_DB_FILEMemcached SASL 数据库文件。${SASL_CONF_PATH}/memcachedsasldbMEMCACHED_DAEMON_USERMemcached 系统用户。memcachedMEMCACHED_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

    到此这篇关于Docker Memcached 容器化部署的实现的文章就介绍到这了,更多相关Docker Memcached 容器化部署内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!

    收藏 (0) 打赏

    感谢您的支持,我会继续努力的!

    打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
    点赞 (0)

    悠久资源 Linux服务器 Docker Memcached 容器化部署的实现 https://www.u-9.cn/server/linux/185797.html

    常见问题

    相关文章

    发表评论
    暂无评论
    官方客服团队

    为您解决烦忧 - 24小时在线 专业服务