Skip to content

DockerEnvy/validate-dockerfile

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#validate-dockerfile

NodeJS validator for dockerfiles. NPM

##Installation

npm install --save validate-dockerfile

##Usage:

var validateDockerfile = require('validate-dockerfile');

var dockerfile = 'FROM ubuntu/nodejs';

var isValid = validateDockerfile(dockerfile);

##Returned value

If the dockerfile is valid, the object returned will be simply:

{
  valid: true
}

If something went wrong somewhere, the object will detail what and where:

{
  valid: false,
  line: 4,
  message: 'Invalid instruction'
}

The error messages that can be returned are:

  • Invalid instruction
    • There's a instruction that isn't valid for a dockerfile.
    • i.e. CONJURE stolen_data_tapes
  • Bad parameters
    • An instruction's parameters did not satisfy our regexes.
    • i.e. FROM Incom/Z-95 Headhunter
  • Missing or misplaced FROM
  • Missing CMD
  • Invalid type
    • You gave us something other than a string

Line numbers will be returned on Missing FROM, Bad parameters and Invalid instruction errors.

##CLI

Install validate-dockerfile globally (npm install -g validate-dockerfile) to gain access to docklint, the CLI wrapper for validate-dockerfile.

docklint takes one parameter, the path to a Dockerfile. If no path is given, it looks for a Dockerfile in the current directory. It will exit with a code of 0 if the Dockerfile is legit, 1 otherwise.

##TODO

Non-mission-critical stuff that'd be nice to have:

  • Stream support

Examples used in testing borrowed from https://github.com/kstaken/dockerfile-examples/tree/master/salt-minion. Thanks!

About

NodeJS dockerfile validator

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%