bitnami/memcachedMemcached是一款高性能、分布式的内存对象缓存系统,设计用于加速动态Web应用,通过减轻数据库负载提升应用响应速度。其通用架构使其适用于多种场景,核心功能是将频繁访问的数据存储在内存中,减少对后端数据库的直接查询。
Bitnami Memcached Docker镜像是预配置的轻量级部署方案,旨在简化Memcached的搭建流程。该镜像基于Bitnami安全最佳实践构建,提供开箱即用的缓存服务,支持快速集成到开发、测试及生产环境。
安全加固:遵循Bitnami Secure Images标准,基于最小化Photon Linux操作系统构建,减少***面,提供CVE透明度(通过VEX/KEV)、软件物料清单(SBOM)及安全 attestation签名。
非root用户运行:容器默认以非root用户(memcached)运行,降低权限提升风险,符合生产环境安全最佳实践。
配置灵活性:支持通过环境变量自定义缓存大小、连接数、认证信息等核心参数,同时提供自定义SASL配置能力。
标准化部署:与Bitnami Helm Charts兼容,支持Docker Compose及Kubernetes等多种部署方式,确保开发与生产环境配置一致性。
供应链安全:通过SLSA-3合规的构建工厂生成,包含病毒扫描报告、漏洞利用评分(EPSS)及及时的上游补丁更新。
注意:该镜像的免费版本(latest标签)主要面向开发用途,生产环境建议使用Bitnami Secure Images商业版以获取长期支持。
consoledocker run --name memcached bitnami/memcached:latest
自2025年8月28日起,Bitnami将对公共镜像仓库进行重大调整:
docker.io/bitnamilegacy仓库,不再接收更新。详细信息参见Bitnami Secure Images公告。
从Docker Hub获取最新版本:
consoledocker pull bitnami/memcached:latest
指定版本拉取(需注意2025年8月28日后版本标签迁移至legacy仓库):
consoledocker pull bitnami/memcached:[TAG] # 例如: docker pull bitnami/memcached:2.50.0
consolegit clone [***] cd bitnami/memcached/[VERSION]/[OS] # 替换为具体版本和操作系统 docker build -t bitnami/memcached:latest .
console# 基本运行(默认配置:64MB缓存,***端口) docker run --name memcached -p ***:*** bitnami/memcached:latest # 自定义缓存大小(128MB) docker run --name memcached -e MEMCACHED_CACHE_SIZE=128 -p ***:*** bitnami/memcached:latest # 启用认证(用户名my_user,密码my_password) docker run --name memcached \ -e MEMCACHED_USERNAME=my_user \ -e MEMCACHED_PASSWORD=my_password \ -p ***:*** \ bitnami/memcached:latest
创建docker-compose.yml文件:
yamlversion: '2' networks: app-tier: driver: bridge services: memcached: image: bitnami/memcached:latest ports: - "***:***" environment: - MEMCACHED_CACHE_SIZE=256 # 缓存大小256MB - MEMCACHED_MAX_CONNECTIONS=2048 # 最大连接数2048 networks: - app-tier # 应用服务示例(需替换为实际应用镜像) myapp: image: YOUR_APPLICATION_IMAGE networks: - app-tier depends_on: - memcached
启动服务:
consoledocker-compose up -d
console# 创建网络 docker network create app-tier --driver bridge # 启动Memcached并加入网络 docker run -d --name memcached-server --network app-tier bitnami/memcached:latest # 应用容器连接到同一网络(使用memcached-server作为主机名访问) docker run -d --name myapp --network app-tier YOUR_APPLICATION_IMAGE
Compose自动创建网络并连接所有服务,应用容器通过服务名(如memcached)访问缓存服务。
| 变量名 | 描述 | 默认值 |
|---|---|---|
MEMCACHED_LISTEN_ADDRESS | 服务绑定地址 | nil |
MEMCACHED_PORT_NUMBER | 服务端口号 | *** |
MEMCACHED_USERNAME | 管理员用户名 | root |
MEMCACHED_PASSWORD | 管理员密码(未设置则禁用认证) | nil |
MEMCACHED_MAX_ITEM_SIZE | 最大item大小(字节,如8388608=8MB) | nil |
MEMCACHED_EXTRA_FLAGS | 额外启动参数(如-vvv开启详细日志) | nil |
MEMCACHED_MAX_TIMEOUT | 启动/停止超时时间(秒) | 5 |
MEMCACHED_CACHE_SIZE | 缓存大小(MB) | nil |
MEMCACHED_MAX_CONNECTIONS | 最大并发连接数 | nil |
MEMCACHED_THREADS | 工作线程数 | nil |
| 变量名 | 描述 | 值 |
|---|---|---|
MEMCACHED_BASE_DIR | 安装目录 | ${BITNAMI_ROOT_DIR}/memcached |
MEMCACHED_CONF_DIR | 配置目录 | ${MEMCACHED_BASE_DIR}/conf |
MEMCACHED_BIN_DIR | 可执行文件目录 | ${MEMCACHED_BASE_DIR}/bin |
SASL_CONF_PATH | SASL配置目录 | ${MEMCACHED_CONF_DIR}/sasl2 |
SASL_DB_FILE | SASL用户数据库文件路径 | ${SASL_CONF_PATH}/memcachedsasldb |
MEMCACHED_DAEMON_USER | 运行用户 | memcached |
MEMCACHED_DAEMON_GROUP | 运行用户组 | memcached |
consoledocker run --name memcached -e MEMCACHED_CACHE_SIZE=512 bitnami/memcached:latest
consoledocker run --name memcached -e MEMCACHED_MAX_CONNECTIONS=4096 bitnami/memcached:latest
consoledocker run --name memcached -e MEMCACHED_THREADS=8 bitnami/memcached:latest
console# 开启详细日志(-vvv)并限制CPU使用(-c 1024) docker run --name memcached bitnami/memcached:latest /opt/bitnami/scripts/memcached/run.sh -vvv -c 1024
默认认证启用时,SASL配置文件位于/opt/bitnami/memcached/sasl2/memcached.conf,内容如下:
configmech_list: plain sasldb_path: /opt/bitnami/memcached/conf/memcachedsasldb
自定义SASL配置方法:
sasl2目录的卷:consoledocker run --name memcached -v /path/to/custom/sasl2:/opt/bitnami/memcached/conf/sasl2 bitnami/memcached:latest
商业版Secure Images支持FIPS模式,通过环境变量控制:
OPENSSL_FIPS:是否启用FIPS模式,可选值yes(默认)/no容器日志输出至stdout,可通过以下命令查看:
console# 查看单个容器日志 docker logs memcached # 查看Compose服务日志 docker-compose logs memcached # 实时日志 docker logs -f memcached
可通过--log-driver参数配置日志驱动(如json-file、syslog等):
consoledocker run --name memcached --log-driver json-file --log-opt max-size=10m bitnami/memcached:latest
console# 1. 获取最新镜像 docker pull bitnami/memcached:latest # 2. 停止并删除旧容器(数据非持久化场景) docker stop memcached && docker rm memcached # 3. 启动新容器 docker run --name memcached -p ***:*** bitnami/memcached:latest
Memcached为内存数据库,默认无持久化。如需状态保留,需使用外部工具(如memcached-tool)定期备份。
/opt/bitnami/memcached/conf/sasl2/;支持通过MEMCACHED_PASSWORD_FILE文件传入密码。1001运行。MEMCACHED_USER参数重命名为MEMCACHED_USERNAME。stdout,不再写入卷。Copyright © 2025 Broadcom. 本软件包由Bitnami打包,相关商标归各自公司所有。许可协议遵循Apache License 2.0,详情参见Apache官方网站。
注意:2025年8月28日后,历史版本镜像将迁移至
bitnamilegacy仓库且不再更新,生产环境请使用Bitnami Secure Images商业版。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务