@@ -182,12 +182,33 @@ start:
182182.SILENT : _docker-up-and-wait
183183_docker-up-and-wait :
184184 docker-compose up -d
185- sleep 5
185+ containerId=" " ; \
186+ while [ -z " $$ containerId" ] ; do \
187+ echo " (still) waiting for Drupal container to appear" ; \
188+ sleep 2; \
189+ containerId=$$( docker-compose ps -q drupal ) ; \
190+ done && echo " containerId='$$ containerId'"
191+ # composer config can move forward since container is available:
186192 if [ " ${GH_TOKEN} " ]; then \
187193 echo " Installing github token" ; \
188- docker-compose exec -T drupal bash -lc " composer config -g github-oauth.github.com ${GH_TOKEN} " && echo ' ' ; \
189- fi ;
190- docker-compose exec -T drupal /bin/sh -c " while true ; do echo \" Waiting for Drupal to start ...\" ; if [ -d \" /var/run/s6/services/nginx\" ] ; then s6-svwait -u /var/run/s6/services/nginx && exit 0 ; else sleep 5 ; fi done"
194+ docker-compose exec -T drupal bash -lc " composer config -g github-oauth.github.com ${GH_TOKEN} " ; \
195+ else \
196+ echo " No github token provided" ; \
197+ fi
198+ # new block:
199+ containerId=$$( docker-compose ps -q drupal ) ; \
200+ echo " Drupal container ID: '$$ containerId'" ; \
201+ containerName=$$(docker inspect -f '{{.Name}}' $$(docker-compose ps -q drupal ) | cut -c2- ) ; \
202+ echo " Looking into run-state of found-container '$$ containerName'" ; \
203+ if [ -n " $$ containerName" ] ; then \
204+ runState=" " ; \
205+ while [ " true" != " $$ runState" ] ; do \
206+ sleep 5 ; \
207+ runState=$$(docker inspect -f {{.State.Running}} "$$containerName" ) ; \
208+ echo " Waiting for Drupal to start ... current state: $$ runState" ; \
209+ done && \
210+ echo Drupal is ready. ; \
211+ fi
191212
192213# Static drupal image, with codebase baked in. This image
193214# is tagged based on the current git hash/tag. If the image is not present
0 commit comments