在docker中使用memcached时,如何设置最大项目大小?

我知道可以完成以下操作-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#-}" != "$1" ]; then
  set -- memcached "$@"
fi

if [ "$1" = "memcached" ]; then
  shift
  MAXITEMSIZE=${MAXITEMSIZE:-1m}
  set -- memcached -I "$MAXITEMSIZE" "$@"
fi

exec "$@"

关于docker - 如何在Docker中增加Memcached项目的最大大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47298796/

10-16 12:29