Atul Agrawal
Atul Agrawal

Reputation: 1520

To ignore npm install errors while building a mean stack application under docker image

I have a mean stack application which i am building under docker container. But it is throwing some error while performing npm install which is not critical. I want to ignore all thosse errors.

This is what i am trying:-

# Create image based on the official Node 6 image from dockerhub
FROM node:6

# Create a directory where our app will be placed
RUN mkdir -p ./build


# Copy dependency definitions
COPY package.json ./build

# Change directory so that our commands run inside this new directory(It will switch the directory as well)
WORKDIR ./build

# Install npm dependecies
RUN npm install || 1


# Get all the code needed to run the app
COPY . ./build

# Expose the port the app runs in
EXPOSE 8100

# Serve the app
CMD ["npm", "start"]

My package.json file is

{
  "name": "mean1",
  "version": "0.0.0",
  "main": "server/app.js",
  "dependencies": {
    "adm-zip": "^0.4.7",
    "async": "^2.1.4",
    "aws-sdk": "^2.101.0",
    "body-parser": "~1.5.0",
    "composable-middleware": "^0.3.0",
    "compression": "~1.0.1",
    "connect-mongo": "^0.8.1",
    "cookie-parser": "~1.0.1",
    "cors": "^2.7.1",
    "crypto": "0.0.3",
    "debug": "^2.6.0",
    "ejs": "~0.8.4",
    "errorhandler": "~1.0.0",
    "express": "~4.9.0",
    "express-jwt": "^3.0.0",
    "express-session": "~1.0.2",
    "fs.extra": "^1.3.2",
    "gm": "^1.21.1",
    "handlebars": "^4.0.5",
    "html-minifier": "^3.4.2",
    "html-pdf": "^2.1.0",
    "json2xls": "^0.1.2",
    "jsonwebtoken": "^5.0.0",
    "lodash": "~3.10.1",
    "lwip": "0.0.9",
    "method-override": "~1.0.0",
    "moment": "^2.17.1",
    "mongoose": "~4.10.0",
    "morgan": "~1.0.0",
    "multer": "^1.0.6",
    "newrelic": "^2.2.0",
    "nodemailer": "~1.8.0",
    "passport": "~0.2.0",
    "passport-facebook": "^2.1.0",
    "passport-google-oauth": "latest",
    "passport-linkedin": "^1.0.0",
    "passport-local": "~0.1.6",
    "passport-twitter": "^1.0.4",
    "request": "~2.65.0",
    "rimraf": "^2.6.1",
    "s3": "^4.4.0",
    "seq": "^0.3.5",
    "serve-favicon": "~2.0.1",
    "socketio-jwt": "^3.0.0",
    "trim": "0.0.1",
    "util": "^0.10.3",
    "validator": "^6.2.0",
    "xlsx": "^0.8.0",
    "connect-multiparty": "^2.0.0"
  },
  "devDependencies": {
    "grunt": "~0.4.4",
    "grunt-autoprefixer": "~0.7.2",
    "grunt-wiredep": "~1.8.0",
    "grunt-concurrent": "~0.5.0",
    "grunt-contrib-clean": "~0.5.0",
    "grunt-contrib-concat": "~0.4.0",
    "grunt-contrib-copy": "~0.5.0",
    "grunt-contrib-cssmin": "~0.9.0",
    "grunt-contrib-htmlmin": "~0.2.0",
    "grunt-contrib-imagemin": "^1.0.0",
    "grunt-contrib-jshint": "~0.10.0",
    "grunt-contrib-uglify": "~0.4.0",
    "grunt-contrib-watch": "~0.6.1",
    "karma-babel-preprocessor": "^5.2.1",
    "grunt-babel": "~5.0.0",
    "grunt-google-cdn": "~0.4.0",
    "grunt-newer": "~0.7.0",
    "grunt-ng-annotate": "^0.2.3",
    "grunt-rev": "~0.1.0",
    "grunt-svgmin": "~0.4.0",
    "grunt-usemin": "~2.1.1",
    "grunt-env": "~0.4.1",
    "grunt-node-inspector": "~0.1.5",
    "grunt-nodemon": "~0.2.0",
    "grunt-angular-templates": "^0.5.4",
    "grunt-dom-munger": "^3.4.0",
    "grunt-protractor-runner": "^1.1.0",
    "grunt-injector": "~0.5.4",
    "grunt-karma": "~0.8.2",
    "grunt-build-control": "~0.4.0",
    "grunt-mocha-test": "~0.10.2",
    "grunt-contrib-sass": "^0.7.3",
    "jit-grunt": "^0.5.0",
    "time-grunt": "~0.3.1",
    "grunt-express-server": "~0.4.17",
    "grunt-open": "~0.2.3",
    "open": "~0.0.4",
    "jshint-stylish": "~0.1.5",
    "connect-livereload": "~0.4.0",
    "karma-ng-scenario": "~0.1.0",
    "karma-firefox-launcher": "~0.1.3",
    "karma-script-launcher": "~0.1.0",
    "karma-html2js-preprocessor": "~0.1.0",
    "karma-ng-jade2js-preprocessor": "^0.1.2",
    "karma-jasmine": "~0.1.5",
    "karma-chrome-launcher": "~0.1.3",
    "requirejs": "~2.1.11",
    "karma-requirejs": "~0.2.1",
    "karma-coffee-preprocessor": "~0.2.1",
    "karma-jade-preprocessor": "0.0.11",
    "karma-phantomjs-launcher": "~0.1.4",
    "karma": "~0.12.9",
    "karma-ng-html2js-preprocessor": "~0.1.0",
    "supertest": "~0.11.0",
    "should": "~3.3.1"
  },
  "engines": {
    "node": ">=0.10.0"
  },
  "scripts": {
    "start": "node server/app.js",
    "test": "grunt test",
    "update-webdriver": "node node_modules/grunt-protractor-runner/node_modules/protractor/bin/webdriver-manager update"
  },
  "private": true
}

But my docker container is unable to start as it found an error code in npm install.

Upvotes: 1

Views: 3622

Answers (1)

omu_negru
omu_negru

Reputation: 4770

try

RUN npm install || true

This should ensure that the step should always succeed

Upvotes: 3

Related Questions