Skip to content

Instantly share code, notes, and snippets.

@rwasef1830
Last active January 26, 2021 12:50
Show Gist options
  • Save rwasef1830/388445976036ca3d32eca9c89dd4c7b1 to your computer and use it in GitHub Desktop.
Save rwasef1830/388445976036ca3d32eca9c89dd4c7b1 to your computer and use it in GitHub Desktop.
#!/bin/sh
set -e
echo Pulling latest image...
docker pull webdevops/php-apache-dev:7.4-alpine
echo Pruning old images...
docker image prune -f
[ -f ".docker-dev-server" ] && LOCALPORT=$(cat .docker-dev-server | tr -d " \t\n\r" )
[ ! -z "$LOCALPORT" ] && PORTPARAM="$LOCALPORT:443"
[ -z "$PORTPARAM" ] && PORTPARAM=443
WSLIP=$(ip addr show dev eth0 | grep "inet " | cut -f6 -d" " | cut -f1 -d/)
[ -f ".docker-dev-server-params" ] && EXTRAPARAMS=$(eval echo \"$(cat .docker-dev-server-params)\")
COMMAND="docker run -p $PORTPARAM $EXTRAPARAMS -v `pwd`:/app -v `wslpath 'D:\Transient\PHP\profiling'`:/tmp/profiling -d --rm -e XDEBUG_REMOTE_HOST=$WSLIP -e XDEBUG_CLIENT_HOST=$WSLIP -e XDEBUG_REMOTE_PORT=9000 -e XDEBUG_PROFILER_ENABLE_TRIGGER=1 -e XDEBUG_REMOTE_CONNECT_BACK=0 -e POSTFIX_RELAYHOST=host.docker.internal -e fpm.pool.user=root -e fpm.pool.group=root -e CONTAINER_UID=root -e SERVICE_PHPFPM_OPTS=-R -e php.xdebug.profiler_output_dir=/tmp/profiling -e php.xdebug.profiler_output_name=callgrind.out.%H.%R.%p webdevops/php-apache-dev:7.4-alpine"
CONTAINER=$($COMMAND)
CHOSEN_PORT=$(docker container port $CONTAINER | cut -f2 -d:)
echo $CHOSEN_PORT > .docker-dev-server
echo "$CONTAINER: $CHOSEN_PORT"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment