如何在 docker 中增加 memcached 项目的最大大小
How to increase memcached item max size in docker
将 memcached 与 docker 一起使用时,如何设置最大项目大小?
我知道可以执行以下操作,例如-m 64 设置存储限制:
docker run --name my-memcache -d memcached memcached -m 64
我也知道在 Linux 框中可以执行以下操作来设置项目最大尺寸限制:
MAXITEMSIZE=5m
memcached 映像中的 entry point 脚本将传递命令行选项
docker run --name my-memcache -d memcached -I 10m
如果您想将选项设为默认值并通过 MAXITEMSIZE
环境变量进行配置,您可以创建一个图像 FROM memcached
并复制一个新的入口点脚本。
FROM memcached
COPY docker-entrypoint.sh /usr/local/bin/
脚本需要满足用户未 运行 memcached
以及他们手动指定 -I
选项的情况。
#!/bin/sh
set -ue
# first arg is `-f` or `--some-option`
if [ "${1#-}" != "" ]; then
set -- memcached "$@"
fi
if [ "" = "memcached" ]; then
shift
MAXITEMSIZE=${MAXITEMSIZE:-1m}
set -- memcached -I "$MAXITEMSIZE" "$@"
fi
exec "$@"
将 memcached 与 docker 一起使用时,如何设置最大项目大小?
我知道可以执行以下操作,例如-m 64 设置存储限制:
docker run --name my-memcache -d memcached memcached -m 64
我也知道在 Linux 框中可以执行以下操作来设置项目最大尺寸限制:
MAXITEMSIZE=5m
memcached 映像中的 entry point 脚本将传递命令行选项
docker run --name my-memcache -d memcached -I 10m
如果您想将选项设为默认值并通过 MAXITEMSIZE
环境变量进行配置,您可以创建一个图像 FROM memcached
并复制一个新的入口点脚本。
FROM memcached
COPY docker-entrypoint.sh /usr/local/bin/
脚本需要满足用户未 运行 memcached
以及他们手动指定 -I
选项的情况。
#!/bin/sh
set -ue
# first arg is `-f` or `--some-option`
if [ "${1#-}" != "" ]; then
set -- memcached "$@"
fi
if [ "" = "memcached" ]; then
shift
MAXITEMSIZE=${MAXITEMSIZE:-1m}
set -- memcached -I "$MAXITEMSIZE" "$@"
fi
exec "$@"