Created
October 4, 2016 18:12
-
-
Save VatslavDS/a71f213f221a054784960b42e49444b6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Customization of Stratio Intelligence Core Image | |
FROM stratio/intelligence-spark-core:0.2.0 | |
MAINTAINER Stratio Intelligence <intelligence@stratio.com> | |
# --- Begining Of Customizable Part --- | |
USER root | |
# ipython-sql | |
RUN apt-get install -y libpq-dev && \ | |
pip install psycopg2 && \ | |
pip install ipython-sql | |
RUN groupadd -r mysql && useradd -r -g mysql mysql | |
# add gosu for easy step-down from root | |
ENV GOSU_VERSION 1.7 | |
RUN set -x \ | |
&& apt-get update && apt-get install -y --no-install-recommends ca-certificates wget && rm -rf /var/lib/apt/lists/* \ | |
&& wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture)" \ | |
&& wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture).asc" \ | |
&& export GNUPGHOME="$(mktemp -d)" \ | |
&& gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \ | |
&& gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \ | |
&& rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc \ | |
&& chmod +x /usr/local/bin/gosu \ | |
&& gosu nobody true \ | |
&& apt-get purge -y --auto-remove ca-certificates wget | |
RUN mkdir /docker-entrypoint-initdb.d | |
RUN ls -lh | |
# FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_db: | |
# File::Basename | |
# File::Copy | |
# Sys::Hostname | |
# Data::Dumper | |
RUN apt-get update && apt-get install -y perl pwgen --no-install-recommends && rm -rf /var/lib/apt/lists/* | |
# gpg: key 5072E1F5: public key "MySQL Release Engineering <mysql-build@oss.oracle.com>" imported | |
RUN apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5 | |
ENV MYSQL_MAJOR 5.7 | |
ENV MYSQL_VERSION 5.7.15-1debian8 | |
RUN echo "deb http://repo.mysql.com/apt/debian/ jessie mysql-${MYSQL_MAJOR}" > /etc/apt/sources.list.d/mysql.list | |
# the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql) | |
# also, we set debconf keys to make APT a little quieter | |
RUN { \ | |
echo mysql-community-server mysql-community-server/data-dir select ''; \ | |
echo mysql-community-server mysql-community-server/root-pass password ''; \ | |
echo mysql-community-server mysql-community-server/re-root-pass password ''; \ | |
echo mysql-community-server mysql-community-server/remove-test-db select false; \ | |
} | debconf-set-selections \ | |
&& apt-get update && apt-get install -y mysql-server="${MYSQL_VERSION}" && rm -rf /var/lib/apt/lists/* \ | |
&& rm -rf /var/lib/mysql && mkdir -p /var/lib/mysql /var/run/mysqld \ | |
&& chown -R mysql:mysql /var/lib/mysql /var/run/mysqld \ | |
# ensure that /var/run/mysqld (used for socket and lock files) is writable regardless of the UID our mysqld instance ends up having at runtime | |
&& chmod 777 /var/run/mysqld | |
# comment out a few problematic configuration values | |
# don't reverse lookup hostnames, they are usually another container | |
RUN sed -Ei 's/^(bind-address|log)/#&/' /etc/mysql/mysql.conf.d/mysqld.cnf \ | |
&& echo 'skip-host-cache\nskip-name-resolve' | awk '{ print } $1 == "[mysqld]" && c == 0 { c = 1; system("cat") }' /etc/mysql/mysql.conf.d/mysqld.cnf > /tmp/mysqld.cnf \ | |
&& mv /tmp/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf | |
VOLUME /var/lib/mysql | |
ADD docker-entrypoint.sh /usr/local/bin/ | |
RUN ln -s usr/local/bin/docker-entrypoint.sh /entrypoint.sh | |
RUN chmod 777 /entrypoint.sh | |
ENTRYPOINT ["docker-entrypoint.sh"] | |
RUN ls -lh /usr/local/bin/ | |
EXPOSE 3306 | |
CMD ["mysqld"] | |
# --- End Of Customizable Part --- | |
# user_configura |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment