Memcached环境标准软件基于Bitnami Memcached 构建。当前版本为1.6.24
你可以通过轻云UC部署工具直接安装部署,也可以手动按如下文档操作,该项目已经全面开源,可以从如下环境获取
配置文件地址: https://gitee.com/qingplus/qingcloud-platform
什么是 Memcached?
Memcached是一个高性能的分布式内存对象缓存系统,它通过内存来缓存数据库调用、API调用或页面渲染的结果,以减少数据库负载,提高系统响应速度。它通常用于缓存经常请求的数据,使得这些数据能够迅速地从缓存中获取,而不是从原始数据源(如数据库)中检索,从而提高了动态Web应用程序的速度和性能。
快速运行
docker run --name memcached bitnami/memcached: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
配置
环境变量
可定制的环境变量
Name | Description | Default Value |
---|---|---|
MEMCACHED_PORT_NUMBER |
Memcached 使用的端口号 | 11211 |
MEMCACHED_USERNAME |
Memcached admin 用户名。 | root |
MEMCACHED_MAX_TIMEOUT |
Memcached 启动或停止的最大超时(以秒为单位) | 5 |
只读环境变量
Name | Description | Value |
---|---|---|
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 |
MEMCACHED_TMP_DIR |
Memcached 临时文件目录。 | ${MEMCACHED_BASE_DIR}/tmp |
MEMCACHED_LOGS_DIR |
Memcached 日志目录。 | ${MEMCACHED_BASE_DIR}/logs |
MEMCACHED_LOG_FILE |
Memcached 日志文件的路径。 | ${MEMCACHED_LOGS_DIR}/memcached.log |
MEMCACHED_PID_FILE |
Memcached PID 文件的路径。 | ${MEMCACHED_TMP_DIR}/memcached.pid |
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 |
指定缓存大小
默认情况下,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
...
指定最大并发连接数
默认情况下,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
...
指定处理请求的线程数
默认情况下,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 文件的路径。
记录
Memcached Docker 映像将容器日志发送到stdout. 要查看日志:
docker logs memcached
或使用 Docker Compose:
docker-compose logs memcached