Compare commits
3 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0da1173d6f | ||
|
|
8018a310d2 | ||
|
|
05ce698812 |
2 changed files with 56 additions and 29 deletions
|
|
@ -1,4 +1,4 @@
|
||||||
FROM registry.fedoraproject.org/f31/s2i-core:latest
|
FROM registry.fedoraproject.org/f30/s2i-core:latest
|
||||||
|
|
||||||
# Redis image based on Software Collections packages
|
# Redis image based on Software Collections packages
|
||||||
#
|
#
|
||||||
|
|
@ -9,7 +9,6 @@ FROM registry.fedoraproject.org/f31/s2i-core:latest
|
||||||
|
|
||||||
ENV NAME=redis \
|
ENV NAME=redis \
|
||||||
VERSION=5 \
|
VERSION=5 \
|
||||||
RELEASE=1 \
|
|
||||||
ARCH=x86_64
|
ARCH=x86_64
|
||||||
|
|
||||||
ENV REDIS_VERSION=$VERSION \
|
ENV REDIS_VERSION=$VERSION \
|
||||||
|
|
@ -33,8 +32,6 @@ LABEL summary="$SUMMARY" \
|
||||||
com.redhat.component="$NAME" \
|
com.redhat.component="$NAME" \
|
||||||
name="$FGC/$NAME" \
|
name="$FGC/$NAME" \
|
||||||
version="$VERSION" \
|
version="$VERSION" \
|
||||||
release="$RELEASE.$DISTTAG" \
|
|
||||||
architecture="$ARCH" \
|
|
||||||
usage="docker run -d --name redis_database -p 6379:6379 $FGC/$NAME" \
|
usage="docker run -d --name redis_database -p 6379:6379 $FGC/$NAME" \
|
||||||
maintainer="SoftwareCollections.org <sclorg@redhat.com>"
|
maintainer="SoftwareCollections.org <sclorg@redhat.com>"
|
||||||
|
|
||||||
|
|
|
||||||
80
README.md
80
README.md
|
|
@ -1,40 +1,36 @@
|
||||||
Redis Docker image
|
Redis 5 in-memory data structure store container image
|
||||||
====================
|
====================
|
||||||
|
|
||||||
This container image includes Dockerfile for Redis 3.2 Docker image.
|
This container image includes Redis 5 in-memory data structure store for OpenShift and general usage.
|
||||||
Users can choose between RHEL and CentOS based images.
|
Users can choose between RHEL, CentOS and Fedora based images.
|
||||||
|
The RHEL images are available in the [Red Hat Container Catalog](https://access.redhat.com/containers/),
|
||||||
|
the CentOS images are available on [Docker Hub](https://hub.docker.com/r/centos/),
|
||||||
|
and the Fedora images are available in [Fedora Registry](https://registry.fedoraproject.org/).
|
||||||
|
The resulting image can be run using [podman](https://github.com/containers/libpod).
|
||||||
|
|
||||||
Dockerfile for CentOS is called Dockerfile, Dockerfile for RHEL is called
|
Note: while the examples in this README are calling `podman`, you can replace any such calls by `docker` with the same arguments
|
||||||
Dockerfile.rhel7.
|
|
||||||
|
|
||||||
Environment variables and volumes
|
Description
|
||||||
----------------------------------
|
-----------
|
||||||
|
|
||||||
| Variable name | Description |
|
Redis 5 available as container, is an advanced key-value store.
|
||||||
| :--------------------- | ----------------------------------------- |
|
It is often referred to as a data structure server since keys can contain strings, hashes, lists,
|
||||||
| `REDIS_PASSWORD` | Password for the server access |
|
sets and sorted sets. You can run atomic operations on these types, like appending to a string;
|
||||||
|
incrementing the value in a hash; pushing to a list; computing set intersection, union and difference;
|
||||||
|
or getting the member with highest ranking in a sorted set. In order to achieve its outstanding
|
||||||
|
performance, Redis works with an in-memory dataset. Depending on your use case, you can persist
|
||||||
|
it either by dumping the dataset to disk every once in a while, or by appending each command to a log.
|
||||||
|
|
||||||
TBD
|
|
||||||
|
|
||||||
You can also set the following mount points by passing the `-v /host:/container:Z` flag to Docker.
|
|
||||||
|
|
||||||
| Volume mount point | Description |
|
|
||||||
| :----------------------- | -------------------- |
|
|
||||||
| `/var/lib/redis/data` | Redis data directory |
|
|
||||||
|
|
||||||
**Notice: When mouting a directory from the host into the container, ensure that the mounted
|
|
||||||
directory has the appropriate permissions and that the owner and group of the directory
|
|
||||||
matches the user UID or name which is running inside the container.**
|
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
---------------------------------
|
-----
|
||||||
|
|
||||||
For this, we will assume that you are using the `rhscl/redis-32-rhel7` image.
|
For this, we will assume that you are using the `rhel8/redis-5` image.
|
||||||
If you want to set only the mandatory environment variables and not store
|
If you want to set only the mandatory environment variables and not store
|
||||||
the database in a host directory, execute the following command:
|
the database in a host directory, execute the following command:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ docker run -d --name redis_database -p 6379:6379 rhscl/redis-32-rhel7
|
$ podman run -d --name redis_database -p 6379:6379 rhel8/redis-5
|
||||||
```
|
```
|
||||||
|
|
||||||
This will create a container named `redis_database`. Port 6379 will be exposed and mapped
|
This will create a container named `redis_database`. Port 6379 will be exposed and mapped
|
||||||
|
|
@ -47,9 +43,43 @@ For protecting Redis data by a password, pass `REDIS_PASSWORD` environment varia
|
||||||
to the container like this:
|
to the container like this:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ docker run -d --name redis_database -e REDIS_PASSWORD=strongpassword rhscl/redis-32-rhel7
|
$ podman run -d --name redis_database -e REDIS_PASSWORD=strongpassword rhel8/redis-5
|
||||||
```
|
```
|
||||||
|
|
||||||
**Warning: since Redis is pretty fast an outside user can try up to
|
**Warning: since Redis is pretty fast an outside user can try up to
|
||||||
150k passwords per second against a good box. This means that you should
|
150k passwords per second against a good box. This means that you should
|
||||||
use a very strong password otherwise it will be very easy to break.**
|
use a very strong password otherwise it will be very easy to break.**
|
||||||
|
|
||||||
|
|
||||||
|
Environment variables and volumes
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
**`REDIS_PASSWORD`**
|
||||||
|
Password for the server access
|
||||||
|
|
||||||
|
|
||||||
|
You can also set the following mount points by passing the `-v /host:/container:Z` flag to podman.
|
||||||
|
|
||||||
|
**`/var/lib/redis/data`**
|
||||||
|
Redis data directory
|
||||||
|
|
||||||
|
|
||||||
|
**Notice: When mouting a directory from the host into the container, ensure that the mounted
|
||||||
|
directory has the appropriate permissions and that the owner and group of the directory
|
||||||
|
matches the user UID or name which is running inside the container.**
|
||||||
|
|
||||||
|
|
||||||
|
Troubleshooting
|
||||||
|
---------------
|
||||||
|
Redis logs into standard output, so the log is available in the container log. The log can be examined by running:
|
||||||
|
|
||||||
|
podman logs <container>
|
||||||
|
|
||||||
|
|
||||||
|
See also
|
||||||
|
--------
|
||||||
|
Dockerfile and other sources for this container image are available on
|
||||||
|
https://github.com/sclorg/redis-container.
|
||||||
|
In that repository you also can find another versions of Python environment Dockerfiles.
|
||||||
|
Dockerfile for CentOS is called `Dockerfile`, Dockerfile for RHEL7 is called `Dockerfile.rhel7`,
|
||||||
|
for RHEL8 it's `Dockerfile.rhel8` and the Fedora Dockerfile is called Dockerfile.fedora.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue