
This Docker images provides the official/redis image as base with the mDNS/ZeroConf stack on top. So you can enjoy redis while it is accessible by default as redis.local. (Port 6379)
You just need to run it like that, to get a working redis:
$ docker run --rm hausgold/redis
The port 6379 is untouched.
services:
redis:
image: hausgold/redis
environment:
# Mind the .local suffix
MDNS_HOSTNAME: redis.test.local
# We allow additional redis-server arguments via: (default)
REDIS_ARGS: --databases 1000
Install the nss-mdns package, enable and start the avahi-daemon.service. Then, edit the file /etc/nsswitch.conf and change the hosts line like this:
hosts: ... mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns ...
The magic environment variable is MDNS_HOSTNAME. Just pass it like that to your docker run command:
$ docker run --rm -e MDNS_HOSTNAME=something.else.local hausgold/redis
This will result in something.else.local.
You can also configure multiple aliases (CNAME's) for your container by passing the MDNS_CNAMES environment variable. It will register all the comma separated domains as aliases for the container, next to the regular mDNS hostname.
$ docker run --rm \
-e MDNS_HOSTNAME=something.else.local \
-e MDNS_CNAMES=nothing.else.local,special.local \
hausgold/redis
This will result in something.else.local, nothing.else.local and special.local.
By default .local is the default mDNS top level domain. This images does not force you to use it. But if you do not use the default .local top level domain, you need to configure your host avahi to accept it.
Content type
Image
Digest
sha256:c2e338d5d…
Size
72.7 MB
Last updated
over 1 year ago
docker pull hausgold/redis