From c80d686616908ef8c0d29ecc6a20e848f454f397 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Wed, 3 Dec 2014 13:05:13 -0600 Subject: [PATCH 1/7] Feature: adding hook to execute additional scripts on startup This will close both #18 and #24. The scripts are located in the /docker-entrypoint-initdb.d directory. Paired on this with @benkiefer --- 5.7/docker-entrypoint.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/5.7/docker-entrypoint.sh b/5.7/docker-entrypoint.sh index c737fc01b..1807620ed 100755 --- a/5.7/docker-entrypoint.sh +++ b/5.7/docker-entrypoint.sh @@ -33,6 +33,13 @@ if [ ! -d '/var/lib/mysql/mysql' -a "${1%_safe}" = 'mysqld' ]; then fi fi + INIT_DIR='/docker-entrypoint-initdb.d' + for f in $INIT_DIR/*.sql + do + echo "Appending sql script: $f" + cat $f >> "$TEMP_FILE" + done + echo 'FLUSH PRIVILEGES ;' >> "$TEMP_FILE" set -- "$@" --init-file="$TEMP_FILE" From 1a9dba74d3d631372e0278aae712b6fc2f505ad8 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Wed, 3 Dec 2014 13:06:19 -0600 Subject: [PATCH 2/7] Feature: adding hook to execute additional scripts on startup --- 5.6/docker-entrypoint.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index c737fc01b..1807620ed 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -33,6 +33,13 @@ if [ ! -d '/var/lib/mysql/mysql' -a "${1%_safe}" = 'mysqld' ]; then fi fi + INIT_DIR='/docker-entrypoint-initdb.d' + for f in $INIT_DIR/*.sql + do + echo "Appending sql script: $f" + cat $f >> "$TEMP_FILE" + done + echo 'FLUSH PRIVILEGES ;' >> "$TEMP_FILE" set -- "$@" --init-file="$TEMP_FILE" From 85295d0314b03cd66516dfab70874e5a219fbe96 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Wed, 3 Dec 2014 13:06:40 -0600 Subject: [PATCH 3/7] Feature: adding hook to execute additional scripts on startup --- 5.5/docker-entrypoint.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/5.5/docker-entrypoint.sh b/5.5/docker-entrypoint.sh index c737fc01b..1807620ed 100755 --- a/5.5/docker-entrypoint.sh +++ b/5.5/docker-entrypoint.sh @@ -33,6 +33,13 @@ if [ ! -d '/var/lib/mysql/mysql' -a "${1%_safe}" = 'mysqld' ]; then fi fi + INIT_DIR='/docker-entrypoint-initdb.d' + for f in $INIT_DIR/*.sql + do + echo "Appending sql script: $f" + cat $f >> "$TEMP_FILE" + done + echo 'FLUSH PRIVILEGES ;' >> "$TEMP_FILE" set -- "$@" --init-file="$TEMP_FILE" From ba00dd7602c54171e34a0d38ee9f38480e08ef24 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Wed, 3 Dec 2014 16:04:52 -0600 Subject: [PATCH 4/7] Feature: adding directory for hook to execute additional scripts --- 5.7/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/5.7/Dockerfile b/5.7/Dockerfile index 23a6032ba..bbd864b8c 100644 --- a/5.7/Dockerfile +++ b/5.7/Dockerfile @@ -39,6 +39,8 @@ ENV PATH $PATH:/usr/local/mysql/bin:/usr/local/mysql/scripts WORKDIR /usr/local/mysql VOLUME /var/lib/mysql +RUN mkdir -p /docker-entrypoint-initdb.d + COPY docker-entrypoint.sh /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] From b89ea105b03899a895f67777a1aa55d351594c36 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Wed, 3 Dec 2014 16:05:16 -0600 Subject: [PATCH 5/7] Feature: adding directory for hook to execute additional scripts --- 5.6/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 390dc64c5..31f9674ca 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -39,6 +39,8 @@ ENV PATH $PATH:/usr/local/mysql/bin:/usr/local/mysql/scripts WORKDIR /usr/local/mysql VOLUME /var/lib/mysql +RUN mkdir -p /docker-entrypoint-initdb.d + COPY docker-entrypoint.sh /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] From 215d715dcaaba5be89ba66492b91d1a8e71f2615 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Wed, 3 Dec 2014 16:05:43 -0600 Subject: [PATCH 6/7] Feature: adding directory for hook to execute additional scripts --- 5.5/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/5.5/Dockerfile b/5.5/Dockerfile index af523e032..a4de28a51 100644 --- a/5.5/Dockerfile +++ b/5.5/Dockerfile @@ -39,6 +39,8 @@ ENV PATH $PATH:/usr/local/mysql/bin:/usr/local/mysql/scripts WORKDIR /usr/local/mysql VOLUME /var/lib/mysql +RUN mkdir -p /docker-entrypoint-initdb.d + COPY docker-entrypoint.sh /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] From 938076513a5a40a79e49da6d08460dff3dfe84a6 Mon Sep 17 00:00:00 2001 From: williamsbdev Date: Wed, 3 Dec 2014 19:25:51 -0600 Subject: [PATCH 7/7] Enhancement: check if it is a file before cat the file into init-file --- 5.5/docker-entrypoint.sh | 2 ++ 5.6/docker-entrypoint.sh | 2 ++ 5.7/docker-entrypoint.sh | 2 ++ 3 files changed, 6 insertions(+) diff --git a/5.5/docker-entrypoint.sh b/5.5/docker-entrypoint.sh index 1807620ed..55a95f17c 100755 --- a/5.5/docker-entrypoint.sh +++ b/5.5/docker-entrypoint.sh @@ -36,8 +36,10 @@ if [ ! -d '/var/lib/mysql/mysql' -a "${1%_safe}" = 'mysqld' ]; then INIT_DIR='/docker-entrypoint-initdb.d' for f in $INIT_DIR/*.sql do + if [ -f $f ]; then echo "Appending sql script: $f" cat $f >> "$TEMP_FILE" + fi done echo 'FLUSH PRIVILEGES ;' >> "$TEMP_FILE" diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 1807620ed..55a95f17c 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -36,8 +36,10 @@ if [ ! -d '/var/lib/mysql/mysql' -a "${1%_safe}" = 'mysqld' ]; then INIT_DIR='/docker-entrypoint-initdb.d' for f in $INIT_DIR/*.sql do + if [ -f $f ]; then echo "Appending sql script: $f" cat $f >> "$TEMP_FILE" + fi done echo 'FLUSH PRIVILEGES ;' >> "$TEMP_FILE" diff --git a/5.7/docker-entrypoint.sh b/5.7/docker-entrypoint.sh index 1807620ed..55a95f17c 100755 --- a/5.7/docker-entrypoint.sh +++ b/5.7/docker-entrypoint.sh @@ -36,8 +36,10 @@ if [ ! -d '/var/lib/mysql/mysql' -a "${1%_safe}" = 'mysqld' ]; then INIT_DIR='/docker-entrypoint-initdb.d' for f in $INIT_DIR/*.sql do + if [ -f $f ]; then echo "Appending sql script: $f" cat $f >> "$TEMP_FILE" + fi done echo 'FLUSH PRIVILEGES ;' >> "$TEMP_FILE"