Skip to content

A library and command line interface for formatting and linting Dockerfiles.

License

Notifications You must be signed in to change notification settings

rcjsuen/dockerfile-utils

Repository files navigation

Dockerfile Utilities

Node.js Builds Coverage Status Build Dependencies License: MIT

This is a collection of utilities for working with Dockerfiles powered by Node.js written in TypeScript. To install and run these utilities, you will need to have Node.js or Docker installed on your computer.

Supported features:

  • formatting
  • linting

Development Instructions

If you wish to build and compile this project, you must first install Node.js if you have not already done so. After you have installed Node.js and cloned the repository with Git, you may now proceed to build and compile the project with the following commands:

npm install
npm run build
npm test

If you are planning to change the code, use npm run watch to get the TypeScript files transpiled on-the-fly as they are modified.

Installation Instructions

To add this library as a dependency to your project, please add dockerfile-utils as a dependency in your project's package.json file.

Running the CLI with Node.js

To install and use the dockerfile-utils command line interface, please install the dockerfile-utils npm module. The -g flag will install the NPM module globally onto your computer.

npm install -g dockerfile-utils

After the installation has completed, you can run the CLI using the dockerfile-utils binary.

> dockerfile-utils --help
Usage: dockerfile-utils <command> [<args>]

Options:

  -h, --help                Output usage information
  -v, --version             Output version information

Commands:

  format                    Format a Dockerfile
  lint                      Validate a Dockerfile

Running the CLI with Docker

You can use docker run to launch the command line interface with Docker. This removes the requirement of needing to have Node.js installed locally on your computer. The dockerfile-utils binary is available as a Docker image under the name rcjsuen/dockerfile-utils.

> docker run rcjsuen/dockerfile-utils --help
Usage: dockerfile-utils <command> [<args>]

Options:

  -h, --help                Output usage information
  -v, --version             Output version information

Commands:

  format                    Format a Dockerfile
  lint                      Validate a Dockerfile

To format or lint a Dockerfile in the current working directory, please use the following commands.

> docker run -v `pwd`/Dockerfile:/Dockerfile rcjsuen/dockerfile-utils format /Dockerfile
> docker run -v `pwd`/Dockerfile:/Dockerfile rcjsuen/dockerfile-utils lint /Dockerfile