Sign inSign up

aphexddb/redis

By aphexddb

•Updated almost 11 years ago

Mesos friendly Redis

Image
0

648

aphexddb/redis repository overview

⁠Clustered Redis Dockerfile for Mesos/Marathon

TODO - clustering won't work currently as I can't figure out⁠ how to force Redis to use a specific cluster port

⁠Launching Redis

Redis in clustered mode expects two ports to be open, the main port and that port + 10000. This JSON will have Marathon create a container:

{
  "container": {
    "type": "DOCKER",
    "docker": {
      "image": "aphexddb/redis:latest"
    }
  },
  "id": "redis",
  "instances": "1",
  "cpus": "0.5",
  "mem": "512",
  "ports": [6379,16379]
}

curl -X POST -H "Content-Type: application/json" http://marathon-master:8080/v2/apps [email protected]

When launching the container Marathon will apply $PORT0 and $PORT1 environment variables to your the container with the random ports it chose. The startup script uses those values to launch Redis.

⁠Use with haproxy

If you use the super cool haproxy-marathon-bridge⁠ haproxy will automagically know about all the Redis nodes. Ex:

listen redis
  bind 0.0.0.0:6379
  mode tcp
  option tcplog
  balance leastconn
  server redis-1 server.host.com:31864 check

listen redis
  bind 0.0.0.0:16379
  mode tcp
  option tcplog
  balance leastconn
  server redis-1 server.host.com:31865 check

⁠Redis config

The following are the config changes made from the default:

cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
dir /data

Tag summary

Content type

Image

Digest

sha256:6fdbacf26…

Size

181.9 MB

Last updated

almost 11 years ago

docker pull aphexddb/redis