[PATCH] docker: increase database connection timeout
Andrew Donnellan
andrew.donnellan at au1.ibm.com
Thu May 25 15:36:18 AEST 2017
When starting the Docker environment, if the web container can't see the
database immediately, it waits 5 seconds, tries again, then waits 15
seconds more to account for first-time start-ups where it takes a bit
longer for the database to be initialised.
Some of us, unfortunately, have slow computers with slow mechanical hard
drives which take just a bit longer. Increase the second timeout from 15
seconds to 60 seconds, testing every 5 seconds.
Cc: Daniel Axtens <dja at axtens.net>
Signed-off-by: Andrew Donnellan <andrew.donnellan at au1.ibm.com>
---
tools/docker/entrypoint.sh | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/tools/docker/entrypoint.sh b/tools/docker/entrypoint.sh
index 5a23fa3..949d8af 100755
--- a/tools/docker/entrypoint.sh
+++ b/tools/docker/entrypoint.sh
@@ -53,8 +53,13 @@ if ! test_db_connection; then
sleep 5
if ! test_db_connection; then
echo "Still cannot connect to MySQL."
- echo "Maybe you are starting the db for the first time. Waiting 15 seconds."
- sleep 15
+ echo "Maybe you are starting the db for the first time. Waiting up to 60 seconds."
+ for i in {0..9}; do
+ sleep 5
+ if test_db_connection; then
+ break
+ fi
+ done
if ! test_db_connection; then
echo "Still cannot connect to MySQL. Giving up."
echo "Are you using docker-compose? If not, have you set up the link correctly?"
--
Andrew Donnellan OzLabs, ADL Canberra
andrew.donnellan at au1.ibm.com IBM Australia Limited
More information about the Patchwork
mailing list