Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

validate-dockerfile

Package Overview
Dependencies
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

validate-dockerfile

Validates a Dockerfile

  • 1.2.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
36
increased by260%
Maintainers
1
Weekly downloads
 
Created
Source

#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'
}

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 FROM
    • FROM is not the first instruction in the dockerfile.
    • For more: https://docs.docker.com/reference/builder/#from
  • Missing CMD
  • Empty dockerfile
    • The dockerfile does not contain any instructions
    • More than likely, you're passing the wrong parameter
  • Invalid type
    • You gave us something other than a string

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

##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
  • Set up binary for CLI use

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

Keywords

FAQs

Package last updated on 26 Aug 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc