Memcached 是一个高性能、分布式内存对象缓存系统,通用性强,主要用于通过减轻数据库负载来加速动态Web应用。
Memcached 概述
商标说明:本软件列表由 Bitnami 打包。所提及的相关商标归各自公司所有,使用这些商标并不意味着任何关联或认可。
consoledocker run --name memcached REGISTRY_NAME/bitnami/memcached:latest
仅有部分 BSI 应用可免费使用。想要访问全部应用目录及企业支持?立即尝试 Bitnami 安全镜像商业版。
将 Bitnami 应用部署为 Helm 图表是在 Kubernetes 上开始使用我们应用的最简单方法。有关安装的更多信息,请参阅 https://github.com/bitnami/charts/tree/master/bitnami/memcached%E3%80%82
非 root 容器镜像增加了额外的安全层,通常推荐用于生产环境。但是,由于它们以非 root 用户运行,特权任务通常受限。在我们的文档中了解更多关于非 root 容器的信息 in our docs。
Dockerfile 链接了解更多关于 Bitnami 标签策略以及滚动标签和不可变标签之间的区别,请参阅我们的文档页面 in our documentation page。
您可以通过查看分支文件夹中的 tags-info.yaml 文件(即 bitnami/ASSET/BRANCH/DISTRO/tags-info.yaml)来了解不同标签之间的对应关系。
通过关注 https://github.com/bitnami/containers 订阅项目更新。
获取 Bitnami Memcached Docker 镜像的推荐方式是从 https://hub.docker.com 拉取预构建镜像。
consoledocker pull REGISTRY_NAME/bitnami/memcached:latest
要使用特定版本,您可以拉取带版本的标签。您可以在 Docker Hub Registry 中查看 https://hub.docker.com/r/bitnami/memcached/tags/%E3%80%82
consoledocker pull REGISTRY_NAME/bitnami/memcached:[TAG]
如果需要,您也可以通过克隆仓库、进入包含 Dockerfile 的目录并执行 docker build 命令来自行构建镜像。请记住在下面的示例命令中用正确的值替换 APP、VERSION 和 OPERATING-SYSTEM 路径占位符。
consolegit clone https://github.com/bitnami/containers.git cd bitnami/APP/VERSION/OPERATING-SYSTEM docker build -t REGISTRY_NAME/bitnami/APP:latest .
使用 Docker 容器网络,容器内运行的 Memcached 服务器可以轻松被应用容器访问。
连接到同一网络的容器可以使用容器名称作为主机名相互通信。
步骤 1:创建网络
consoledocker network create app-tier --driver bridge
步骤 2:启动 Memcached 服务器实例
使用 --network app-tier 参数执行 docker run 命令,将 Memcached 容器附加到 app-tier 网络。
consoledocker run -d --name memcached-server \ --network app-tier \ REGISTRY_NAME/bitnami/memcached:latest
步骤 3:启动应用容器
consoledocker run -d --name myapp \ --network app-tier \ YOUR_APPLICATION_IMAGE
重要提示:
- 请将上述代码片段中的 YOUR_APPLICATION_IMAGE 占位符替换为您的应用镜像
- 在应用容器中,使用主机名
memcached-server连接到 Memcached 服务器
未指定时,Docker Compose 会自动设置新网络并将所有部署的服务附加到该网络。但是,我们将显式定义一个名为 app-tier 的新 bridge 网络。在此示例中,我们假设您希望从自己的自定义应用镜像(在以下代码片段中由服务名称 myapp 标识)连接到 Memcached 服务器。
yamlversion: '2' networks: app-tier: driver: bridge services: memcached: image: REGISTRY_NAME/bitnami/memcached:latest networks: - app-tier myapp: image: YOUR_APPLICATION_IMAGE networks: - app-tier
重要提示:
- 请将上述代码片段中的 YOUR_APPLICATION_IMAGE 占位符替换为您的应用镜像
- 在应用容器中,使用主机名
memcached连接到 Memcached 服务器
使用以下命令启动容器:
consoledocker-compose up -d
可自定义环境变量
| 名称 | 描述 | 默认值 |
|---|---|---|
MEMCACHED_LISTEN_ADDRESS | Memcached 服务将绑定的主机。 | nil |
MEMCACHED_PORT_NUMBER | Memcached 使用的端口号。 | 11211 |
MEMCACHED_USERNAME | Memcached 管理员用户名。 | root |
MEMCACHED_PASSWORD | Memcached 管理员用户密码。 | nil |
MEMCACHED_MAX_ITEM_SIZE | Memcached 最大项目大小。 | nil |
MEMCACHED_EXTRA_FLAGS | 运行 Memcached 时使用的额外标志。 | nil |
MEMCACHED_MAX_TIMEOUT | Memcached 启动或停止的最大超时时间(秒)。 | 5 |
MEMCACHED_CACHE_SIZE | Memcached 缓存大小(MB)。 | nil |
MEMCACHED_MAX_CONNECTIONS | Memcached 可容忍的最大并发连接数。 | nil |
MEMCACHED_THREADS | Memcached 将使用的进程线程数。 | nil |
只读环境变量
| 名称 | 描述 | 值 |
|---|---|---|
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 |
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 为单位)指定不同的值。
consoledocker run --name memcached -e MEMCACHED_CACHE_SIZE=128 REGISTRY_NAME/bitnami/memcached:latest
或修改此仓库中提供的 https://github.com/bitnami/containers/blob/main/bitnami/memcached/docker-compose.yml 文件:
yamlservices: memcached: ... environment: - MEMCACHED_CACHE_SIZE=128 ...
默认情况下,Bitnami Memcached 容器不会指定最大并发连接数,将使用 Memcached 默认值(1024 个并发连接)启动。您可以使用 MEMCACHED_MAX_CONNECTIONS 环境变量指定不同的值。
consoledocker run --name memcached -e MEMCACHED_MAX_CONNECTIONS=2000 REGISTRY_NAME/bitnami/memcached:latest
或修改此仓库中提供的 https://github.com/bitnami/containers/blob/main/bitnami/memcached/docker-compose.yml 文件:
yamlservices: memcached: ... environment: - MEMCACHED_MAX_CONNECTIONS=2000 ...
默认情况下,Bitnami Memcached 容器不会指定处理请求的线程数,将使用 Memcached 默认值(4 个线程)启动。您可以使用 MEMCACHED_THREADS 环境变量指定不同的值。
consoledocker run --name memcached -e MEMCACHED_THREADS=4 REGISTRY_NAME/bitnami/memcached:latest
或修改此仓库中提供的 https://github.com/bitnami/containers/blob/main/bitnami/memcached/docker-compose.yml 文件:
yamlservices: memcached: ... environment: - MEMCACHED_THREADS=4 ...
默认情况下,Memcached 容器不会指定最大项目大小,将使用 Memcached 默认值(*** ~ 1 兆字节)启动。您可以使用 MEMCACHED_MAX_ITEM_SIZE 环境变量指定不同的值。仅接受数值 - 使用 8388608 代替 8m。
consoledocker run --name memcached -e MEMCACHED_MAX_ITEM_SIZE=8388608 REGISTRY_NAME/bitnami/memcached:latest
或修改此仓库中提供的 https://github.com/bitnami/containers/blob/main/bitnami/memcached/docker-compose.yml 文件:
yamlservices: memcached: ... environment: - MEMCACHED_MAX_ITEM_SIZE=8388608 ...
默认情况下,Memcached 服务器上的身份验证处于禁用状态。要启用身份验证,请使用 MEMCACHED_PASSWORD 环境变量(或 MEMCACHED_PASSWORD_FILE 指定的文件内容)指定 Memcached 管理员用户的密码。
要自定义 Memcached 管理员用户的用户名(默认为 root),应指定 MEMCACHED_USERNAME 变量。
consoledocker run --name memcached \ -e MEMCACHED_USERNAME=my_user \ -e MEMCACHED_PASSWORD=my_password \ REGISTRY_NAME/bitnami/memcached:latest
或修改此仓库中提供的 https://github.com/bitnami/containers/blob/main/bitnami/memcached/docker-compose.yml 文件:
yamlversion: '2' services: memcached: ... environment: - MEMCACHED_USERNAME=my_user - MEMCACHED_PASSWORD=my_password ...
MEMCACHED_USERNAME的默认值为root。
可以通过将额外的命令行标志作为参数添加到 run.sh 脚本来传递给 Memcached 服务命令:
consoledocker run --name memcached REGISTRY_NAME/bitnami/memcached:latest /opt/bitnami/scripts/memcached/run.sh -vvv
或者,修改此仓库中提供的 https://github.com/bitnami/containers/blob/main/bitnami/memcached/docker-compose.yml 文件:
yamlservices: memcached: ... command: /opt/bitnami/scripts/memcached/run.sh -vvv ...
有关参数的完整列表,请参阅 Memcached 手册页。
要加载您自己的 SASL 配置文件,您必须使它们对容器可用。您可以通过以下方式实现:
默认情况下,启用身份验证时,Memcached 的 SASL 配置会写入 /opt/bitnami/memcached/sasl2/memcached.conf 文件,内容如下:
configmech_list: plain sasldb_path: /opt/bitnami/memcached/conf/memcachedsasldb
/opt/bitnami/memcached/conf/memcachedsasldb 是包含 Memcached 用户列表的 sasldb 文件路径。
Bitnami 安全镜像 目录中的 Bitnami Memcached Docker 镜像包含额外功能和设置,可将容器配置为具有 FIPS 功能。您可以配置以下环境变量:
OPENSSL_FIPS:OpenSSL 是否以 FIPS 模式运行。yes(默认)、no。Bitnami Memcached Docker 镜像将容器日志发送到 stdout。要查看日志:
consoledocker logs memcached
或使用 Docker Compose:
consoledocker-compose logs memcached
如果您希望以不同方式使用容器日志,可以使用 --log-driver 选项配置容器的 日志驱动程序。默认配置下,Docker 使用 json-file 驱动程序。
Bitnami 会尽快提供 Memcached 的最新版本,包括安全补丁。我们建议您按照以下步骤升级容器。
步骤 1:获取更新的镜像
consoledocker pull REGISTRY_NAME/bitnami/memcached:latest
如果使用 Docker Compose,请将 image 属性的值更新为 REGISTRY_NAME/bitnami/memcached:latest。
步骤 2:删除当前运行的容器
consoledocker rm -v memcached
或使用 Docker Compose:
consoledocker-compose rm -v memcached
步骤 3:运行新镜像
从新镜像重新创建容器。
consoledocker run --name memcached REGISTRY_NAME/bitnami/memcached:latest
或使用 Docker Compose:
consoledocker-compose up memcached
1.5.18-debian-9-r6 和 1.5.18-ol-7-r7 中引入的 Memcached 认证回归问题 (#62)。以下是 bitnamisecure/memcached 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务