diff --git a/Dockerfile b/Dockerfile index e77f160ca22c02ed1327d1f986904e1f4508d691..d138e90445800f7485d70aaf67c15b6ac711790b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,6 +30,8 @@ COPY entrypoint.sh /usr/bin/entrypoint.sh COPY setupMasterSlave.sh /usr/bin/setupMasterSlave.sh +COPY healthcheck.sh /usr/bin/healthcheck.sh + VOLUME ["/data"] WORKDIR /data @@ -37,3 +39,5 @@ WORKDIR /data EXPOSE 6379 ENTRYPOINT ["/usr/bin/entrypoint.sh"] + +USER redis diff --git a/docker-compose.yaml b/docker-compose.yaml index 246fec67bc424c385abdf10f714627660734b760..c46f8854193a5a883e69eb8cb93aa1f498fd710a 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -11,7 +11,7 @@ services: SETUP_MODE: cluster SERVER_MODE: master healthcheck: - test: ["CMD-SHELL", "redis-cli -a ${REDIS_PASSWORD} ping"] + test: ["CMD-SHELL", "/bin/bash /usr/bin/healthcheck.sh"] redis-master-2: image: opstree/redis:1.0 @@ -24,7 +24,7 @@ services: SETUP_MODE: cluster SERVER_MODE: master healthcheck: - test: ["CMD-SHELL", "redis-cli -a ${REDIS_PASSWORD} ping"] + test: ["CMD-SHELL", "/bin/bash /usr/bin/healthcheck.sh"] redis-master-3: image: opstree/redis:1.0 @@ -38,7 +38,7 @@ services: SERVER_MODE: master MASTER_LIST: "10.5.0.2:6379 10.5.0.3:6379 10.5.0.4:6379" healthcheck: - test: ["CMD-SHELL", "redis-cli -a ${REDIS_PASSWORD} ping"] + test: ["CMD-SHELL", "/bin/bash /usr/bin/healthcheck.sh"] redis-slave-1: image: opstree/redis:1.0 @@ -53,7 +53,7 @@ services: SLAVE_IP: "10.5.0.5:6379" MASTER_IP: "10.5.0.2:6379" healthcheck: - test: ["CMD-SHELL", "redis-cli -a ${REDIS_PASSWORD} ping"] + test: ["CMD-SHELL", "/bin/bash /usr/bin/healthcheck.sh"] redis-slave-2: image: opstree/redis:1.0 @@ -68,7 +68,7 @@ services: SLAVE_IP: "10.5.0.6:6379" MASTER_IP: "10.5.0.3:6379" healthcheck: - test: ["CMD-SHELL", "redis-cli -a ${REDIS_PASSWORD} ping"] + test: ["CMD-SHELL", "/bin/bash /usr/bin/healthcheck.sh"] redis-slave-3: image: opstree/redis:1.0 @@ -83,7 +83,7 @@ services: SLAVE_IP: "10.5.0.7:6379" MASTER_IP: "10.5.0.4:6379" healthcheck: - test: ["CMD-SHELL", "redis-cli -a ${REDIS_PASSWORD} ping"] + test: ["CMD-SHELL", "/bin/bash /usr/bin/healthcheck.sh"] networks: redis: diff --git a/healthcheck.sh b/healthcheck.sh new file mode 100755 index 0000000000000000000000000000000000000000..a28ecd2b26baf9ef3aebb3a6676f476af26f91a8 --- /dev/null +++ b/healthcheck.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +check_redis_health() { + if [[ -z "${REDIS_PASSWORD}" ]]; then + redis-cli ping + else + redis-cli -a ${REDIS_PASSWORD} ping + fi +} + +check_redis_health diff --git a/redis.conf b/redis.conf old mode 100644 new mode 100755