diff --git a/apache-Dockerfile-block-2 b/apache-Dockerfile-block-2 index 613378a197..380763cc59 100644 --- a/apache-Dockerfile-block-2 +++ b/apache-Dockerfile-block-2 @@ -1,5 +1,12 @@ + +COPY docker-entrypoint.sh /docker-entrypoint.sh +COPY docker-entrypoint.d /docker-entrypoint.d + COPY apache2-foreground /usr/local/bin/ WORKDIR /var/www/html EXPOSE 80 -CMD ["apache2-foreground"] + +ENTRYPOINT [ "/docker-entrypoint.sh" ] + +CMD [ "apache2-foreground" ] diff --git a/docker-entrypoint.d/00-update-uid b/docker-entrypoint.d/00-update-uid new file mode 100755 index 0000000000..c507afb0b6 --- /dev/null +++ b/docker-entrypoint.d/00-update-uid @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +# current www-data UID +CURRENT_UID=`id -u www-data` +WANTED_UID=${RUN_AS_UID:-33} + +# check if UID need to be updated +if [ $CURRENT_UID -ne $WANTED_UID ]; then + echo "Updating www-data UID to $WANTED_UID" + usermod --non-unique --uid $WANTED_UID www-data + chown -R www-data /run/apache2 /run/lock/apache2 /var/cache/apache2/mod_cache_disk /var/log/apache2 +fi diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100755 index 0000000000..4c54157358 --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +DIR=/docker-entrypoint.d + +if [[ -d "$DIR" ]] +then + /bin/run-parts --verbose "$DIR" +fi + +exec "$@" diff --git a/update.sh b/update.sh index 2b5eadb4f0..29281d2a5e 100755 --- a/update.sh +++ b/update.sh @@ -110,6 +110,9 @@ for version in "${versions[@]}"; do ia { ac++ } ia && ac == 1 { system("cat '$variant'-Dockerfile-block-" ab) } ' "$base" > "$version/$target/Dockerfile" + if [ $target == "apache" ]; then + cp -vr docker-entrypoint.sh docker-entrypoint.d "$version/$target/" + fi cp -v docker-php-ext-* "$version/$target/" cp -v docker-php-source "$version/$target/" dockerfiles+=( "$version/$target/Dockerfile" )