mirror of
https://github.com/bitnami/containers.git
synced 2026-03-21 23:38:32 +08:00
MariaDB WIP
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
FROM ubuntu-debootstrap:14.04
|
||||
MAINTAINER Bitnami
|
||||
|
||||
ENV BITNAMI_PREFIX=/usr/local/bitnami
|
||||
ENV BITNAMI_APP_NAME mariadb
|
||||
ENV BITNAMI_APP_VERSION 5.5.42-0
|
||||
ENV BITNAMI_APP_DIR=$BITNAMI_PREFIX/mysql
|
||||
ENV BITNAMI_VOL_PREFIX=/bitnami/$BITNAMI_APP_NAME
|
||||
ENV BITNAMI_APP_VERSION 5.5.42-0
|
||||
|
||||
ADD https://storage.googleapis.com/bitnami-artifacts/install.sh?GoogleAccessId=432889337695-e1gggo94k5qubupjsb35tajs91bdu0hg@developer.gserviceaccount.com&Expires=1434934078&Signature=QNkAu%2F8E2RlalSQy4n1sxMhsGKF%2FVltr6zu65HU6A9H0HKOgl6u9etqy9w6OwD4DsLMxYuy2uymOK3iDc5RbfkAMncKI1zJpxcwRQ4Mt43Oe8PBXKbQYcZ7mQaYPtpnjYblDs1S2p12Pu5NTDJHK2hJ1MrIUYwBup5n60R6OJRI%3D /tmp/install.sh
|
||||
COPY post-install.sh /tmp/post-install.sh
|
||||
@@ -14,13 +16,14 @@ RUN sh /tmp/install.sh\
|
||||
--base_password bitnami --mysql_password bitnami --mysql_allow_all_remote_connections 1 --disable-components common --mysql_init_data_dir 0
|
||||
|
||||
# Temporary, should be removed from installer
|
||||
RUN rm -rf /usr/local/bitnami/mysql/data
|
||||
RUN rm -rf $BITNAMI_APP_DIR/data
|
||||
|
||||
ENV PATH /usr/local/bitnami/mysql/bin:$PATH
|
||||
ENV PATH $BITNAMI_APP_DIR/bin:$PATH
|
||||
EXPOSE 3306
|
||||
VOLUME ["/data", "/conf", "/logs"]
|
||||
VOLUME ["$BITNAMI_VOL_PREFIX/data", "$BITNAMI_VOL_PREFIX/conf", "$BITNAMI_VOL_PREFIX/logs"]
|
||||
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
ADD https://www.dropbox.com/s/kce54xvd1jmka3h/bitnami-utils.sh?dl=1 /bitnami-utils.sh
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
|
||||
CMD ["mysqld.bin"]
|
||||
|
||||
@@ -1,4 +1,11 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
source /bitnami-utils.sh
|
||||
SERVICE_USER=mysql
|
||||
|
||||
program_options(){
|
||||
echo "--defaults-file=$BITNAMI_APP_DIR/my.cnf --log-error=$BITNAMI_APP_DIR/logs/mysqld.log --basedir=$BITNAMI_APP_DIR --datadir=$BITNAMI_APP_DIR/data --plugin-dir=$BITNAMI_APP_DIR/lib/plugin --user=$SERVICE_USER --socket=$BITNAMI_APP_DIR/tmp/mysql.sock --lower-case-table-names=1 $EXTRA_OPTIONS"
|
||||
}
|
||||
|
||||
# if command starts with an option, prepend mysqld
|
||||
if [ "${1:0:1}" = '-' ]; then
|
||||
@@ -7,29 +14,24 @@ if [ "${1:0:1}" = '-' ]; then
|
||||
fi
|
||||
|
||||
if [ ! "$(ls -A /conf)" ]; then
|
||||
echo "Copying default configuration to /conf/my.cnf..."
|
||||
echo ""
|
||||
cp -r /usr/local/bitnami/mysql/conf.defaults/* /usr/local/bitnami/mysql/conf
|
||||
generate_conf_files
|
||||
fi
|
||||
|
||||
if [ "$1" = 'mysqld.bin' ]; then
|
||||
set -- "$@" --defaults-file=/usr/local/bitnami/mysql/my.cnf --log-error=/usr/local/bitnami/mysql/logs/mysqld.log --basedir=/usr/local/bitnami/mysql --datadir=/usr/local/bitnami/mysql/data --plugin-dir=/usr/local/bitnami/mysql/lib/plugin --user=mysql --socket=/usr/local/bitnami/mysql/tmp/mysql.sock "--lower-case-table-names=1" $EXTRA_OPTIONS
|
||||
|
||||
mkdir -p /usr/local/bitnami/mysql/tmp
|
||||
chown -R mysql:mysql /usr/local/bitnami/mysql/tmp
|
||||
set -- $@ `program_options`
|
||||
mkdir -p $BITNAMI_APP_DIR/tmp
|
||||
chown -R $SERVICE_USER:$SERVICE_USER $BITNAMI_APP_DIR/tmp
|
||||
|
||||
if [ ! "$(ls -A /data)" ]; then
|
||||
if [ -z "$MYSQL_PASSWORD" ]; then
|
||||
MYSQL_PASSWORD=$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12)
|
||||
RANDOM_PASSW=1
|
||||
fi
|
||||
|
||||
|
||||
echo "Initializing MySQL database..."
|
||||
echo ""
|
||||
|
||||
/usr/local/bitnami/mysql/scripts/mysql_install_db --port=3306 --socket=/usr/local/bitnami/mysql/tmp/mysql.sock --basedir=/usr/local/bitnami/mysql --datadir=/usr/local/bitnami/mysql/data > /dev/null
|
||||
chown -R mysql:mysql /usr/local/bitnami/mysql/data
|
||||
$BITNAMI_APP_DIR/scripts/mysql_install_db --port=3306 --socket=$BITNAMI_APP_DIR/tmp/mysql.sock --basedir=$BITNAMI_APP_DIR --datadir=$BITNAMI_APP_DIR/data > /dev/null
|
||||
chown -R $SERVICE_USER:$SERVICE_USER $BITNAMI_APP_DIR/data
|
||||
|
||||
echo "UPDATE mysql.user SET Password=PASSWORD('$MYSQL_PASSWORD') WHERE User='root';" >> /tmp/init_mysql.sql
|
||||
echo "FLUSH PRIVILEGES;" >> /tmp/init_mysql.sql
|
||||
@@ -41,33 +43,12 @@ if [ "$1" = 'mysqld.bin' ]; then
|
||||
|
||||
set -- "$@" --init-file=/tmp/init_mysql.sql
|
||||
|
||||
echo "#########################################################################"
|
||||
echo "# #"
|
||||
echo "# Credentials for mariadb: #"
|
||||
echo "# username: root #"
|
||||
echo "# password: $MYSQL_PASSWORD #"
|
||||
echo "# #"
|
||||
|
||||
if [ $RANDOM_PASSW ]; then
|
||||
echo "# The password was generated automatically, if you want to use #"
|
||||
echo "# your own password please set the MYSQL_PASSWORD environment #"
|
||||
echo "# variable when running the container. #"
|
||||
echo "# #"
|
||||
fi
|
||||
echo "#########################################################################"
|
||||
echo ""
|
||||
print_app_credentials $BITNAMI_APP_NAME root $MYSQL_PASSWORD
|
||||
else
|
||||
echo "#########################################################################"
|
||||
echo "# #"
|
||||
echo "# Credentials for mariadb: #"
|
||||
echo "# The MYSQL_PASSWORD was set on first boot. #"
|
||||
echo "# If you want to regenerate the password recreate this container. #"
|
||||
echo "# #"
|
||||
echo "#########################################################################"
|
||||
echo ""
|
||||
print_container_already_initialized $BITNAMI_APP_NAME
|
||||
fi
|
||||
|
||||
chown -R mysql:mysql /usr/local/bitnami/mysql/logs
|
||||
chown -R $SERVICE_USER:$SERVICE_USER $BITNAMI_APP_DIR/logs
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
|
||||
@@ -13,6 +13,6 @@ mv my.cnf conf.defaults/
|
||||
ln -s $INSTALL_DIR/conf/my.cnf my.cnf
|
||||
|
||||
# symlink mount points at root to install dir
|
||||
ln -s $INSTALL_DIR/conf /conf
|
||||
ln -s $INSTALL_DIR/data /data
|
||||
ln -s $INSTALL_DIR/logs /logs
|
||||
ln -s $INSTALL_DIR/conf $BITNAMI_VOL_PREFIX/conf
|
||||
ln -s $INSTALL_DIR/data $BITNAMI_VOL_PREFIX/data
|
||||
ln -s $INSTALL_DIR/logs $BITNAMI_VOL_PREFIX/logs
|
||||
|
||||
Reference in New Issue
Block a user