使用带有docker的memcached时,如何设置最大项目大小?
我知道可以完成以下操作: -m 64设置存储限制:
docker run --name my-memcache -d memcached memcached -m 64
我也知道在Linux框中可以进行以下设置项目最大大小限制:
MAXITEMSIZE=5m
答案 0 :(得分:0)
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 "$@"