From 3ff8cc29b6c5e92041dcd5ae51467bc2c2bff1cd Mon Sep 17 00:00:00 2001 From: Adnan Abdulhussein Date: Tue, 19 May 2015 22:06:30 -0700 Subject: [PATCH] Changes to mariadb container, support /conf volume --- bitnami/mariadb/Dockerfile | 6 ++++-- bitnami/mariadb/entrypoint.sh | 19 ++++++++++++++++++- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/bitnami/mariadb/Dockerfile b/bitnami/mariadb/Dockerfile index 5739e4baf002..61f5bc1addac 100644 --- a/bitnami/mariadb/Dockerfile +++ b/bitnami/mariadb/Dockerfile @@ -1,4 +1,5 @@ FROM ubuntu-debootstrap:14.04 +MAINTAINER Bitnami RUN apt-get update -q && DEBIAN_FRONTEND=noninteractive apt-get install -qy wget && \ wget -q --no-check-certificate https://downloads.bitnami.com/files/download/mariadb/bitnami-mariadb-5.5.42-0-linux-x64-installer.run -O /tmp/installer.run && \ @@ -6,14 +7,15 @@ RUN apt-get update -q && DEBIAN_FRONTEND=noninteractive apt-get install -qy wget /tmp/installer.run --mode unattended --base_password bitnami --mysql_password bitnami --mysql_allow_all_remote_connections 1 --prefix /opt/bitnami --disable-components common && \ /opt/bitnami/mysql/scripts/ctl.sh stop mysql > /dev/null && \ echo "bin/mysql -S /opt/bitnami/mysql/tmp/mysql.sock -u root -p\$2 -e \"GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '\$2' WITH GRANT OPTION;\"" >> /opt/bitnami/mysql/scripts/myscript.sh && \ - rm -rf /tmp/* /opt/bitnami/common /opt/bitnami/mysql/data /opt/bitnami/ctlscript.sh && \ + rm -rf /tmp/* /opt/bitnami/mysql/data /opt/bitnami/ctlscript.sh && \ mkdir /data && chown mysql:mysql /data && \ + mkdir /config && chown mysql:mysql /config && \ ln -s /data /opt/bitnami/mysql/data && \ DEBIAN_FRONTEND=noninteractive apt-get --purge autoremove -qy wget && apt-get clean && rm -rf /var/lib/apt && rm -rf /var/cache/apt/archives/* ENV PATH /opt/bitnami/mysql/bin:$PATH EXPOSE 3306 -VOLUME ["/data"] +VOLUME ["/data", "/config"] COPY entrypoint.sh /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] diff --git a/bitnami/mariadb/entrypoint.sh b/bitnami/mariadb/entrypoint.sh index bda1782275c8..3e79a75a27f9 100755 --- a/bitnami/mariadb/entrypoint.sh +++ b/bitnami/mariadb/entrypoint.sh @@ -11,9 +11,26 @@ if [ "$1" = 'mysqld.bin' ]; then set -- "$@" --defaults-file=/opt/bitnami/mysql/my.cnf --basedir=/opt/bitnami/mysql --datadir=/opt/bitnami/mysql/data --plugin-dir=/opt/bitnami/mysql/lib/plugin --user=mysql --socket=/opt/bitnami/mysql/tmp/mysql.sock$EXTRA_OPTIONS if [ ! "$(ls -A /data)" ]; then - su mysql -c "sh /opt/bitnami/mysql/scripts/myscript.sh /opt/bitnami/mysql bitnami" + if [ -z "$MYSQL_PASSWORD" ]; then + MYSQL_PASSWORD=$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12) + fi + + echo "" + echo "#########################################################################" + echo "# #" + echo "# Setting MySQL root password to '${MYSQL_PASSWORD}' #" + echo "# #" + echo "#########################################################################" + echo "" + + su mysql -c "sh /opt/bitnami/mysql/scripts/myscript.sh /opt/bitnami/mysql $MYSQL_PASSWORD" /opt/bitnami/mysql/scripts/ctl.sh stop mysql > /dev/null fi + + if [ ! -f "/config/my.cnf" ]; then + mv /opt/bitnami/mysql/my.cnf /config/my.cnf + ln -s /config/my.cnf /opt/bitnami/mysql/my.cnf + fi fi exec "$@"