【发布时间】:2017-11-15 03:20:24
【问题描述】:
在使用 memcached 和 docker 时,如何设置最大项目大小?
我知道可以执行以下操作,例如-m 64 设置存储限制:
docker run --name my-memcache -d memcached memcached -m 64
我也知道,在 Linux 机器中,可以执行以下操作来设置项目最大大小限制:
MAXITEMSIZE=5m
【问题讨论】:
在使用 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#-}" != "$1" ]; then
set -- memcached "$@"
fi
if [ "$1" = "memcached" ]; then
shift
MAXITEMSIZE=${MAXITEMSIZE:-1m}
set -- memcached -I "$MAXITEMSIZE" "$@"
fi
exec "$@"
【讨论】: