Last changed
docker pull cgr.dev/chainguard/redis
Need access to a specific version? Contact us.
Be the first to hear about exciting product updates, critical vulnerability alerts, compare alternative images, and more.
Sign UpChainguard image for Redis, an in-memory database that persists on disk. Redis is a key-value store, supporting an array of different values, including Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, and Bitmaps.
Chainguard Images are regularly-updated, minimal container images with low-to-zero CVEs.
This image is available on cgr.dev
:
Be sure to replace the ORGANIZATION
placeholder with the name used for your organization's private repository within the Chainguard registry.
The Chainguard Redis image is comparable to the official Redis image on Docker Hub.
Unlike many other Chainguard images, the Redis image includes a shell, allowing you to interact with the Redis database using the Redis command-line interface, redis-cli
.
By default this image runs as a non-root user named redis
with a uid of 65532
. Typically, Redis does not have a default data directory and instead defaults to whatever the working directory is for the Redis process. The Chainguard Redis image provides a default working directory of /data
that is writeable by the redis
user.
Redis version 7.4 and subsequent releases are no longer licensed under BSD-3-Clause; instead, the Redis project has adopted a dual licensing model. This means users have the choice to adopt either the Redis Source Available License v2 (RSALv2) or the Server Side Public License v1 (SSPLv1).
Please give careful consideration to these licensing conditions when using Redis. For more details, refer to the upstream license information.
This will automatically pull the image to your local system and execute the command redis --version
:
To run the Chainguard Redis image with Docker using default configuration you could run the following command:
This command forwards port 6379
(the default port for Redis) on the host machine to port 6379
on the container:
Following that, you can open another terminal and use redis-cli
locally. Any commands you run through it will be forwarded to the redis
process in the container:
Alternatively, to test out Redis within the container, you can run the following command to access the container's shell:
Then run the redis-server
command to start the redis
process, and include the --daemonize yes
option to prevent it from taking over the terminal:
Following that, you can run redis-cli
, the Redis command-line interface, and begin testing the database:
If you supply a different configuration file or change the user, UID, or WORKDIR
instruction, you'll need to ensure the user running the redis
process has permissions to access the relevant redis.conf
and dumb.rb
files.
When running in Docker using a volume, the Chainguard Redis image will automatically use a custom configuration instead of the default one. Here's an example that mounts a host volume containing a custom Redis configuration to the /data
directory in the container:
Again, this example forwards the local port 6379
to the container's port 6379
, the redis
process's default port.
Following that, you can run redis-cli
commands from your local machine which are then forwarded to the container:
You can also open the redis-cli
prompt locally and forward commands to the container from there:
If you have a Zendesk account (typically set up for you by your Customer Success Manager) you can reach out to Chainguard's Customer Success team through our Zendesk portal.
Chainguard Images are a collection of container images designed for security and minimalism.
Many Chainguard Images are distroless; they contain only an open-source application and its runtime dependencies. These images do not even contain a shell or package manager. Chainguard Images are built with Wolfi, our Linux undistro designed to produce container images that meet the requirements of a secure software supply chain.
The main features of Chainguard Images include:
-dev
VariantsAs mentioned previously, Chainguard’s distroless Images have no shell or package manager by default. This is great for security, but sometimes you need these things, especially in builder images. For those cases, most (but not all) Chainguard Images come paired with a -dev
variant which does include a shell and package manager.
Although the -dev
image variants have similar security features as their distroless versions, such as complete SBOMs and signatures, they feature additional software that is typically not necessary in production environments. The general recommendation is to use the -dev
variants only to build the application and then copy all application artifacts into a distroless image, which will result in a final container image that has a minimal attack surface and won’t allow package installations or logins.
That being said, it’s worth noting that -dev
variants of Chainguard Images are completely fine to run in production environments. After all, the -dev
variants are still more secure than many popular container images based on fully-featured operating systems such as Debian and Ubuntu since they carry less software, follow a more frequent patch cadence, and offer attestations for what they include.
To better understand how to work with Chainguard Images, we encourage you to visit Chainguard Academy, our documentation and education platform.
Chainguard Images contain software packages that are direct or transitive dependencies. The following licenses were found in the "latest" version of this image:
Apache-2.0
GCC-exception-3.1
GPL-2.0-only
GPL-2.0-or-later
GPL-3.0-or-later
LGPL-2.1-or-later
MIT
For a complete list of licenses, please refer to this Image's SBOM.
Software license agreementA FIPS validated version of this image is available for FedRAMP compliance. STIG is included with FIPS image.