Memcached是一款高性能、分布式的内存对象缓存系统,设计用于加速动态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商业版。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429