diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000000..ed2ca4887b7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,37 @@ +FROM ubuntu:14.04 + +RUN apt-get -y update && apt-get install -y \ + genisoimage \ + git \ + maven \ + openjdk-7-jdk \ + python-dev \ + python-setuptools \ + python-pip \ + supervisor + +RUN echo 'mysql-server mysql-server/root_password password root' | debconf-set-selections; \ + echo 'mysql-server mysql-server/root_password_again password root' | debconf-set-selections; + +RUN apt-get install -qqy mysql-server && \ + apt-get clean all + +RUN (/usr/bin/mysqld_safe &); sleep 5; mysqladmin -u root -proot password '' + +RUN pip install --allow-external mysql-connector-python mysql-connector-python + +COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf +COPY . ./root +WORKDIR /root + +RUN mvn -Pdeveloper -Dsimulator -DskipTests clean install + +RUN (/usr/bin/mysqld_safe &); \ + sleep 3; \ + mvn -Pdeveloper -pl developer -Ddeploydb; \ + mvn -Pdeveloper -pl developer -Ddeploydb-simulator; \ + pip install tools/marvin/dist/Marvin-0.1.0.tar.gz + +EXPOSE 8080 + +CMD ["/usr/bin/supervisord"] diff --git a/supervisord.conf b/supervisord.conf new file mode 100644 index 00000000000..a3e454bcd7e --- /dev/null +++ b/supervisord.conf @@ -0,0 +1,15 @@ +[supervisord] +nodaemon=true + +[program:mysqld] +command=/usr/bin/mysqld_safe +autostart=true +autorestart=true +user=root + +[program:cloudstack] +command=/bin/bash -c "mvn -pl client jetty:run -Dsimulator" +directory=/root +stderr_logfile=/var/log/acs.err.log +stdout_logfile=/var/log/acs.out.log +user=root