5.0.8-debian-10-r35 release
This commit is contained in:
parent
5b2282e64a
commit
ccfaf58de7
|
|
@ -21,7 +21,7 @@ RUN ln -s /opt/bitnami/scripts/redis/run.sh /run.sh
|
|||
COPY rootfs /
|
||||
RUN /opt/bitnami/scripts/redis/postunpack.sh
|
||||
ENV BITNAMI_APP_NAME="redis" \
|
||||
BITNAMI_IMAGE_VERSION="5.0.8-debian-10-r34" \
|
||||
BITNAMI_IMAGE_VERSION="5.0.8-debian-10-r35" \
|
||||
NAMI_PREFIX="/.nami" \
|
||||
PATH="/opt/bitnami/common/bin:/opt/bitnami/redis/bin:/opt/bitnami/common/bin:$PATH"
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,31 @@ dns_lookup() {
|
|||
getent ahosts "$host" | awk '/STREAM/ {print $1 }'
|
||||
}
|
||||
|
||||
#########################
|
||||
## Wait for a hostname and return the IP
|
||||
# Arguments:
|
||||
# $1 - hostname
|
||||
# $2 - number of retries
|
||||
# $3 - seconds to wait between retries
|
||||
# Returns:
|
||||
# - IP address that corresponds to the hostname
|
||||
#########################
|
||||
wait_for_dns_lookup() {
|
||||
local hostname="${1:?hostname is missing}"
|
||||
local retries="${2:-5}"
|
||||
local seconds="${3:-1}"
|
||||
check_host() {
|
||||
if [[ $(dns_lookup "$hostname") == "" ]]; then
|
||||
false
|
||||
else
|
||||
true
|
||||
fi
|
||||
}
|
||||
# Wait 10 minutes for the host to be ready
|
||||
retry_while "check_host ${hostname}" "$retries" "$seconds"
|
||||
dns_lookup "$hostname"
|
||||
}
|
||||
|
||||
########################
|
||||
# Get machine's IP
|
||||
# Arguments:
|
||||
|
|
|
|||
|
|
@ -207,6 +207,7 @@ export REDIS_MASTER_PORT_NUMBER="${REDIS_MASTER_PORT_NUMBER:-6379}"
|
|||
export REDIS_MASTER_PASSWORD="${REDIS_MASTER_PASSWORD:-}"
|
||||
export REDIS_PASSWORD="${REDIS_PASSWORD:-}"
|
||||
export REDIS_REPLICATION_MODE="${REDIS_REPLICATION_MODE:-}"
|
||||
export REDIS_PORT="${REDIS_PORT:-6379}"
|
||||
export ALLOW_EMPTY_PASSWORD="${ALLOW_EMPTY_PASSWORD:-no}"
|
||||
EOF
|
||||
if [[ -f "${REDIS_PASSWORD_FILE:-}" ]]; then
|
||||
|
|
@ -270,8 +271,6 @@ redis_validate() {
|
|||
[[ "$error_code" -eq 0 ]] || exit "$error_code"
|
||||
}
|
||||
|
||||
|
||||
|
||||
########################
|
||||
# Configure Redis replication
|
||||
# Globals:
|
||||
|
|
@ -328,6 +327,43 @@ redis_disable_unsafe_commands() {
|
|||
done
|
||||
}
|
||||
|
||||
########################
|
||||
# Redis configure perissions
|
||||
# Globals:
|
||||
# REDIS_*
|
||||
# Arguments:
|
||||
# None
|
||||
# Returns:
|
||||
# None
|
||||
#########################
|
||||
redis_configure_permissions() {
|
||||
debug "Ensuring expected directories/files exist..."
|
||||
for dir in "${REDIS_BASEDIR}" "${REDIS_VOLUME}/data" "${REDIS_BASEDIR}/tmp" "${REDIS_LOGDIR}"; do
|
||||
ensure_dir_exists "$dir"
|
||||
if am_i_root; then
|
||||
chown "$REDIS_DAEMON_USER:$REDIS_DAEMON_GROUP" "$dir"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
########################
|
||||
# Redis specific configuration to override the default one
|
||||
# Globals:
|
||||
# REDIS_*
|
||||
# Arguments:
|
||||
# None
|
||||
# Returns:
|
||||
# None
|
||||
#########################
|
||||
redis_override_conf() {
|
||||
if [[ ! -e "$REDIS_BASEDIR/mounted-etc/redis.conf" ]]; then
|
||||
# Configure Replication mode
|
||||
if [[ -n "$REDIS_REPLICATION_MODE" ]]; then
|
||||
redis_configure_replication
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
########################
|
||||
# Ensure Redis is initialized
|
||||
# Globals:
|
||||
|
|
@ -338,29 +374,39 @@ redis_disable_unsafe_commands() {
|
|||
# None
|
||||
#########################
|
||||
redis_initialize() {
|
||||
redis_configure_default
|
||||
redis_override_conf
|
||||
}
|
||||
|
||||
########################
|
||||
# Configures Redis permissions and general parameters (also used in redis-cluster container)
|
||||
# Globals:
|
||||
# REDIS_*
|
||||
# Arguments:
|
||||
# None
|
||||
# Returns:
|
||||
# None
|
||||
#########################
|
||||
redis_configure_default() {
|
||||
info "Initializing Redis..."
|
||||
|
||||
# This fixes an issue where the trap would kill the entrypoint.sh, if a PID was left over from a previous run
|
||||
# Exec replaces the process without creating a new one, and when the container is restarted it may have the same PID
|
||||
rm -f "$REDIS_BASEDIR/tmp/redis.pid"
|
||||
|
||||
redis_configure_permissions
|
||||
|
||||
# User injected custom configuration
|
||||
if [[ -e "$REDIS_BASEDIR/etc/redis.conf" ]]; then
|
||||
if [[ -e "$REDIS_BASEDIR/mounted-etc/redis.conf" ]]; then
|
||||
if [[ -e "$REDIS_BASEDIR/etc/redis-default.conf" ]]; then
|
||||
rm "${REDIS_BASEDIR}/etc/redis-default.conf"
|
||||
fi
|
||||
cp "${REDIS_BASEDIR}/mounted-etc/redis.conf" "${REDIS_BASEDIR}/etc/redis.conf"
|
||||
else
|
||||
debug "Ensuring expected directories/files exist..."
|
||||
for dir in "${REDIS_VOLUME}/data" "${REDIS_BASEDIR}/tmp" "${REDIS_LOGDIR}"; do
|
||||
ensure_dir_exists "$dir"
|
||||
if am_i_root; then
|
||||
chown "$REDIS_DAEMON_USER:$REDIS_DAEMON_GROUP" "$dir"
|
||||
fi
|
||||
done
|
||||
mv "$REDIS_BASEDIR/etc/redis-default.conf" "$REDIS_BASEDIR/etc/redis.conf"
|
||||
|
||||
# Redis config
|
||||
cp "${REDIS_BASEDIR}/etc/redis-default.conf" "${REDIS_BASEDIR}/etc/redis.conf"
|
||||
# Default Redis config
|
||||
debug "Setting Redis config file..."
|
||||
redis_conf_set port "$REDIS_PORT"
|
||||
redis_conf_set dir "${REDIS_VOLUME}/data"
|
||||
redis_conf_set logfile "" # Log to stdout
|
||||
redis_conf_set pidfile "${REDIS_BASEDIR}/tmp/redis.pid"
|
||||
|
|
@ -380,9 +426,5 @@ redis_initialize() {
|
|||
if [[ -n "$REDIS_DISABLE_COMMANDS" ]]; then
|
||||
redis_disable_unsafe_commands
|
||||
fi
|
||||
# Configure Replication mode
|
||||
if [[ -n "$REDIS_REPLICATION_MODE" ]]; then
|
||||
redis_configure_replication
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ Non-root container images add an extra layer of security and are generally recom
|
|||
Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/containers/how-to/understand-rolling-tags-containers/).
|
||||
|
||||
|
||||
* [`5.0-debian-10`, `5.0.8-debian-10-r34`, `5.0`, `5.0.8`, `latest` (5.0/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-redis/blob/5.0.8-debian-10-r34/5.0/debian-10/Dockerfile)
|
||||
* [`5.0-debian-10`, `5.0.8-debian-10-r35`, `5.0`, `5.0.8`, `latest` (5.0/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-redis/blob/5.0.8-debian-10-r35/5.0/debian-10/Dockerfile)
|
||||
* [`4.0-debian-10`, `4.0.14-debian-10-r72`, `4.0`, `4.0.14` (4.0/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-redis/blob/4.0.14-debian-10-r72/4.0/debian-10/Dockerfile)
|
||||
|
||||
Subscribe to project updates by watching the [bitnami/redis GitHub repo](https://github.com/bitnami/bitnami-docker-redis).
|
||||
|
|
@ -362,12 +362,12 @@ The above command scales up the number of replicas to `3`. You can scale down in
|
|||
|
||||
## Configuration file
|
||||
|
||||
The image looks for configurations in `/opt/bitnami/redis/etc/redis.conf`. You can overwrite the `redis.conf` file using your own custom configuration file.
|
||||
The image looks for configurations in `/opt/bitnami/redis/mounted-etc/redis.conf`. You can overwrite the `redis.conf` file using your own custom configuration file.
|
||||
|
||||
```bash
|
||||
$ docker run --name redis \
|
||||
-e ALLOW_EMPTY_PASSWORD=yes \
|
||||
-v /path/to/your_redis.conf:/opt/bitnami/redis/etc/redis.conf \
|
||||
-v /path/to/your_redis.conf:/opt/bitnami/redis/mounted-etc/redis.conf \
|
||||
-v /path/to/redis-data-persistence:/bitnami/redis/data \
|
||||
bitnami/redis:latest
|
||||
```
|
||||
|
|
@ -379,7 +379,7 @@ services:
|
|||
redis:
|
||||
...
|
||||
volumes:
|
||||
- /path/to/your_redis.conf:/opt/bitnami/redis/etc/redis.conf
|
||||
- /path/to/your_redis.conf:/opt/bitnami/redis/mounted-etc/redis.conf
|
||||
- /path/to/redis-persistence:/bitnami/redis/data
|
||||
...
|
||||
```
|
||||
|
|
@ -465,6 +465,10 @@ $ docker-compose up redis
|
|||
|
||||
# Notable Changes
|
||||
|
||||
## 5.0.8-debian-10-r24
|
||||
|
||||
- The recommended mount point to use a custom `redis.conf` changes from `/opt/bitnami/redis/etc/ ` to `/opt/bitnami/redis/mounted-etc/`.
|
||||
|
||||
## 5.0.0-r0
|
||||
|
||||
- Starting with Redis 5.0 the command [REPLICAOF](https://redis.io/commands/replicaof) is available in favor of `SLAVEOF`. For backward compatibility with previous versions, `slave` replication mode is still supported. We encourage the use of the `REPLICAOF` command if you are using Redis 5.0.
|
||||
|
|
@ -473,7 +477,7 @@ $ docker-compose up redis
|
|||
|
||||
- Decrease the size of the container. It is not necessary Node.js anymore. Redis configuration moved to bash scripts in the `rootfs/` folder.
|
||||
- The recommended mount point to persist data changes to `/bitnami/redis/data`.
|
||||
- The main `redis.conf` file is not persisted in a volume. The path is `/opt/bitnami/redis/etc/redis.conf`.
|
||||
- The main `redis.conf` file is not persisted in a volume. The path is `/opt/bitnami/redis/mounted-etc/redis.conf`.
|
||||
- Backwards compatibility is not guaranteed when data is persisted using docker-compose. You can use the workaround below to overcome it:
|
||||
|
||||
```bash
|
||||
|
|
|
|||
Loading…
Reference in New Issue