Validates a Dockerfile

Usage no npm install needed!

<script type="module">
  import validateDockerfile from '';



NodeJS validator for dockerfiles.

Build Status Dependency Status devDependency Status NPM


npm install --save validate-dockerfile


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',
  priority: 0

The error messages that can be returned are:

Priority 0 (fatal)

  • Invalid instruction
    • There's a instruction that isn't valid for a dockerfile.
    • i.e. CONJURE stolen_data_tapes
  • Missing or misplaced FROM
  • Invalid type
    • You gave us something other than a string

Priority 1 (Bad)

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


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.


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

  • Stream support

Examples used in testing borrowed from Thanks!