如何刷新 Docker memcached 的所有缓存内容?

How to flush all of the cached contents of Docker memcached?

如何在不启动 memcached 的情况下从命令行刷新 Docker 容器 memcached 的所有缓存内容?

docker exec -it $MEMCACHE_CONTAINER_ID bash -c "echo flush_all > /dev/tcp/localhost/11211"

假设您公开了 memcahed 端口 11211。您可以通过 telnetnc 刷新缓存并发送 flush_all

echo flush_all | nc localhost 11211
OK

如果您不在容器所在的同一台机器上执行命令,则可以将 localhost 替换为机器主机名 运行。

尝试使用以下方法(也适用于 alpine docker 图像):

docker exec -it $DOCKER_CONTAINER_ID sh -c "echo flush_all | nc localhost 11211"