如何在 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 "$@"