From 6ea02ed705a410ef9197810f371fa5f56cf19af9 Mon Sep 17 00:00:00 2001 From: Frank Lemanschik Date: Tue, 30 Aug 2016 21:34:43 +0100 Subject: [PATCH] Corrected SYNTAX some fixes You did a lot of overhead now the resulting images are much smaller and it will build much faster greetings. --- Dockerfile | 89 ++++++++++++++++++++++++------------------------------ 1 file changed, 40 insertions(+), 49 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6adb29387f..9e9e7f6199 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,64 +6,55 @@ # # Compose: # docker-compose up -d - FROM ubuntu:latest MAINTAINER MEAN.JS -# Install Utilities -RUN apt-get update -q -RUN apt-get install -yqq wget aptitude htop vim git traceroute dnsutils curl ssh sudo tree tcpdump nano psmisc gcc make build-essential libfreetype6 libfontconfig libkrb5-dev - -# Install gem sass for grunt-contrib-sass -RUN apt-get install -y ruby -RUN gem install sass - -# Install NodeJS -RUN curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - -RUN sudo apt-get install -yq nodejs - -# Install MEAN.JS Prerequisites -RUN npm install --quiet -g grunt-cli gulp bower yo mocha karma-cli pm2 - -RUN mkdir /opt/mean.js -RUN mkdir -p /opt/mean.js/public/lib -WORKDIR /opt/mean.js - -# Copies the local package.json file to the container -# and utilities docker container cache to not needing to rebuild -# and install node_modules/ everytime we build the docker, but only -# when the local package.json file changes. -# Install npm packages -ADD package.json /opt/mean.js/package.json -RUN npm install --quiet - -# Install bower packages -ADD bower.json /opt/mean.js/bower.json -ADD .bowerrc /opt/mean.js/.bowerrc -RUN bower install --quiet --allow-root --config.interactive=false - -# Share local directory on the docker container -ADD . /opt/mean.js - -# Machine cleanup -RUN npm cache clean -RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - # Set development environment as default ENV NODE_ENV development -# Ports generic -EXPOSE 80:80 -EXPOSE 443:443 +# 80 = HTTP, 443 = HTTPS, 3000 = MEAN.JS server, 5858 = node debug, 35729 = livereload +EXPOSE 80 443 3000 5858 35729 -# Port 3000 for MEAN.JS server -EXPOSE 3000:3000 +# Install Utilities +RUN curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - \ + && apt-get update -q \ + && apt-get install -yqq \ + wget \ + aptitude \ + htop \ + vim \ + git \ + traceroute \ + dnsutils \ + curl \ + ssh \ + sudo \ + tree \ + tcpdump \ + nano \ + psmisc \ + gcc \ + make \ + build-essential \ + libfreetype6 \ + libfontconfig \ + libkrb5-dev \ + ruby \ + nodejs \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* -# Port 5858 for node debug -EXPOSE 5858:5858 +# Install gem sass for grunt-contrib-sass +RUN gem install sass -# Port 35729 for livereload -EXPOSE 35729:35729 +ADD . /opt/mean.js +WORKDIR /opt/mean.js +RUN mkdir -p /opt/mean.js/public/lib \ + && npm install --quiet -g grunt-cli gulp bower yo mocha karma-cli pm2 \ + && npm install --quiet \ + && bower install --quiet --allow-root --config.interactive=false \ + && npm cache clean + # Run MEAN.JS server CMD ["npm", "start"]