validate-dockerfile v1.8.1
#validate-dockerfile
NodeJS validator for dockerfiles.
##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',
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
FROM
is not the first instruction in the dockerfile.- For more: https://docs.docker.com/reference/builder/#from
Invalid type
- You gave us something other than a string
###Priority 1 (Bad)
Bad parameters
- An instruction's parameters did not satisfy our regexes.
- i.e.
FROM Incom/Z-95 Headhunter
Missing CMD
- The dockerfile does not contain a
CMD
instruction - For more: https://docs.docker.com/reference/builder/#cmd
- The dockerfile does not contain a
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!
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago