Memcached 是一个高性能、分布式内存对象缓存系统,通用性强,主要用于通过减轻数据库负载来加速动态Web应用。
Memcached 概述
商标说明:本软件列表由 Bitnami 打包。所提及的相关商标归各自公司所有,使用这些商标并不意味着任何关联或认可。
consoledocker run --name memcached REGISTRY_NAME/bitnami/memcached:latest
仅有部分 BSI 应用可免费使用。想要访问全部应用目录及企业支持?立即尝试 Bitnami 安全镜像商业版。
将 Bitnami 应用部署为 Helm 图表是在 Kubernetes 上开始使用我们应用的最简单方法。有关安装的更多信息,请参阅 Bitnami Memcached Chart GitHub 仓库。
非 root 容器镜像增加了额外的安全层,通常推荐用于生产环境。但是,由于它们以非 root 用户运行,特权任务通常受限。在我们的文档中了解更多关于非 root 容器的信息 in our docs。
Dockerfile 链接了解更多关于 Bitnami 标签策略以及滚动标签和不可变标签之间的区别,请参阅我们的文档页面 in our documentation page。
您可以通过查看分支文件夹中的 tags-info.yaml 文件(即 bitnami/ASSET/BRANCH/DISTRO/tags-info.yaml)来了解不同标签之间的对应关系。
通过关注 bitnami/containers GitHub 仓库 订阅项目更新。
获取 Bitnami Memcached Docker 镜像的推荐方式是从 Docker Hub registry 拉取预构建镜像。
consoledocker pull REGISTRY_NAME/bitnami/memcached:latest
要使用特定版本,您可以拉取带版本的标签。您可以在 Docker Hub Registry 中查看 可用版本列表。
consoledocker pull REGISTRY_NAME/bitnami/memcached:[TAG]
如果需要,您也可以通过克隆仓库、进入包含 Dockerfile 的目录并执行 docker build 命令来自行构建镜像。请记住在下面的示例命令中用正确的值替换 APP、VERSION 和 OPERATING-SYSTEM 路径占位符。
consolegit clone [***] cd bitnami/APP/VERSION/OPERATING-SYSTEM docker build -t REGISTRY_NAME/bitnami/APP:latest .
使用 Docker 容器网络,容器内运行的 Memcached 服务器可以轻松被应用容器访问。
连接到同一网络的容器可以使用容器名称作为主机名相互通信。
consoledocker network create app-tier --driver bridge
使用 --network app-tier 参数执行 docker run 命令,将 Memcached 容器附加到 app-tier 网络。
consoledocker run -d --name memcached-server \ --network app-tier \ REGISTRY_NAME/bitnami/memcached:latest
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 使用的端口号。 | *** |
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
或修改此仓库中提供的 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
或修改此仓库中提供的 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
或修改此仓库中提供的 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
或修改此仓库中提供的 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
或修改此仓库中提供的 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
或者,修改此仓库中提供的 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 的最新版本,包括安全补丁。我们建议您按照以下步骤升级容器。
consoledocker pull REGISTRY_NAME/bitnami/memcached:latest
如果使用 Docker Compose,请将 image 属性的值更新为 REGISTRY_NAME/bitnami/memcached:latest。
consoledocker rm -v memcached
或使用 Docker Compose:
consoledocker-compose rm -v memcached
从新镜像重新创建容器。
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)。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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