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.
Development InstructionsIf 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 watchto get the TypeScript files transpiled on-the-fly as they are modified.
Installation InstructionsTo add this library as a dependency to your project, please add
dockerfile-utilsas a dependency in your project's package.json file.
Running the CLI with Node.jsTo install and use the
dockerfile-utilscommand line interface, please install the dockerfile-utils npm module. The
-gflag 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 --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 DockerYou can use
docker runto launch the command line interface with Docker. This removes the requirement of needing to have Node.js installed locally on your computer. The
dockerfile-utilsbinary is available as a Docker image under the name
> 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