|
|
- #!/bin/bash
-
- echo "####################################################################"
- echo "# docker_php_apache build_script #"
- echo "# Dennis Buchhorn - bucde@b-eit.de #"
- echo "####################################################################"
- echo "# This script will build an 'php:8.1.1-apache-buster' image with #"
- echo "# customized uid and gid for 'www-data' user. #"
- echo "# With this you can bind mount volumes to /var/www/html/* and have #"
- echo "# the same permissions from the host (if uid and gid matches). #"
- #echo "# #"
- echo "####################################################################"
- echo ""
-
- PHP_APACHE_IMAGE_NAME="b-eit/php:8.1.1-apache-buster"
-
- PHP_APACHE_WWW_DATA_UID=""
- PHP_APACHE_WWW_DATA_GID=""
-
- read -p "Enter uid for 'www-data' user: " PHP_APACHE_WWW_DATA_UID
- read -p "Enter gid for 'www-data' user: " PHP_APACHE_WWW_DATA_GID
-
- git submodule update --init --recursive
-
- git clean -dfx
-
- cp docker_library_php/8.1/buster/apache/* .
-
- rm -f tmp
- touch tmp
-
- PATCH_APPLIED="false"
-
- while IFS= read -r LINE; do
- printf "%s\n" "$LINE"
-
- if ! [[ $PATCH_APPLIED == "true" ]]; then
- if [[ $LINE == *"FROM debian:"* ]]; then
- printf "\n"
- printf "ARG PHP_APACHE_WWW_DATA_UID=33\n"
- printf "ARG PHP_APACHE_WWW_DATA_GID=33\n"
- printf "RUN groupmod -g \$PHP_APACHE_WWW_DATA_GID www-data; \\"
- printf "\n"
- printf "\tusermod -u \$PHP_APACHE_WWW_DATA_UID -g \$PHP_APACHE_WWW_DATA_GID www-data\n"
-
- PATCH_APPLIED="true"
- fi
- fi
- done < "Dockerfile" > tmp
-
- rm -f Dockerfile
- mv tmp Dockerfile
-
- docker build -t $PHP_APACHE_IMAGE_NAME --build-arg PHP_APACHE_WWW_DATA_UID=$PHP_APACHE_WWW_DATA_UID --build-arg PHP_APACHE_WWW_DATA_GID=$PHP_APACHE_WWW_DATA_GID .
-
- echo "Done!"
|