# RBCS Docker images There are 3 image flavours: - vanilla - memcache - native The `vanilla` image only contains the envelope jar file with no plugins and is based on `eclipse-temurin:21-jre-alpine` The `memcache` image is similar to the `vanilla` image, except that it also contains the `rbcs-server-memcache` plugin in the `plugins` folder, use this image if you don't want to use the `native` image and want to use memcache as the cache backend The `native` image contains a native, statically-linked executable created with GraalVM Native Image that has no userspace dependencies. It also embeds the memcache plugin inside the executable. Use this image for maximum efficiency and minimal memory footprint. The `jlink` image contains a custom Java runtime created with GraalVM's Jlink that only depends on glibc. It also contains the memcache plugin in the module path. Use this image for best performance. ## Which image should I use? The `native` image uses Java's SerialGC, so it's ideal for constrained environment like containers or small servers, if you have a lot of resources and want to squeeze out the maximum throughput you should consider the `vanilla` or `memcache` image, then choose and fine tune the garbage collector. Also the `native` image is only available for the `x86_64` architecture at the moment, while `vanilla` and `memcache` also ship a `aarch64` variant.