Skip to main content

Pretty output for hadolint

Project description

Publish

hadolint-wrapper

What is hadolint?

Hadolint stands for Haskell Dockerfile Linter and is:

A smarter Dockerfile linter that helps you build best practice Docker images.

Example

Dockerfile

FROM debian
RUN export node_version="0.10" \
&& apt-get update && apt-get -y install nodejs="$node_verion"
COPY package.json usr/src/app
RUN cd /usr/src/app \
&& npm install node-static

EXPOSE 80000
CMD "npm start"

With hadolint

$ hadolint Dockerfile
Dockerfile:1 DL3006 Always tag the version of an image explicitly
Dockerfile:2 SC2154 node_verion is referenced but not assigned (did you mean 'node_version'?).
Dockerfile:2 DL3009 Delete the apt-get lists after installing something
Dockerfile:2 DL3015 Avoid additional packages by specifying `--no-install-recommends`
Dockerfile:5 DL3003 Use WORKDIR to switch to a directory
Dockerfile:5 DL3016 Pin versions in npm. Instead of `npm install <package>` use `npm install <package>@<version>`
Dockerfile:8 DL3011 Valid UNIX ports range from 0 to 65535
Dockerfile:9 DL3025 Use arguments JSON notation for CMD and ENTRYPOINT arguments

With hadolint wrapper

$ hadolintw Dockerfile

sample-output

Installation

On OS X, the easiest way to install hadolintw is using Homebrew

$ brew tap mperezi/tools
$ brew install hadolint-wrapper

On other platforms, install hadolintw using pip

$ pip install hadolintw

Usage

$ hadolintw
Usage: hadolintw [OPTIONS] DOCKERFILE [HADOLINT_ARGS]...

  Provides a more clear output for hadolint

Options:
  -d, --use-docker             use the dockerized version of hadolint
  --color [never|auto|always]
  --help                       Show this message and exit.

Set up as a wrapper:

$ alias hadolint=hadolintw
$ hadolint Dockerfile --ignore DL3020
# Please note that all hadolint options must come AFTER the Dockerfile

FAQ

Does the wrapper keep the exit status of hadolint so that I can use it in my CI environment?

No problem.

My CI environment doesn't support colorized output. Can I disable it?

By default the wrapper can detect if the output is being written to a tty or a pipe or a file, enabling or disabling the color codes accordingly (—color auto is the default setting). However you can always turn this feature on or off regardless of the type of output destination:

$ hadolintw --color never Dockerfile

In our team we have a hadolint.yml with some rules defined for our project. Can we still use it with the hadolint wrapper?

Sure.

$ hadolintw Dockerfile --config hadolint.yml

The hadolint program is not available where my build is going to run but at least I have access to a Docker environment. Can I still run hadolint?

Be my guest.

$ hadolintw --use-docker Dockerfile
Unable to find image 'hadolint/hadolint:latest' locally
latest: Pulling from hadolint/hadolint
8a8460b25d70: Pulling fs layer
8a8460b25d70: Verifying Checksum
8a8460b25d70: Download complete
8a8460b25d70: Pull complete
Digest: sha256:0cdbd1e0f5fd3135d17617bb510a85c0248eb70b041021fe5431d4d1501d41b9
Status: Downloaded newer image for hadolint/hadolint:latest
...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hadolintw-1.2.1.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

hadolintw-1.2.1-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file hadolintw-1.2.1.tar.gz.

File metadata

  • Download URL: hadolintw-1.2.1.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.6.10 Linux/5.3.0-1020-azure

File hashes

Hashes for hadolintw-1.2.1.tar.gz
Algorithm Hash digest
SHA256 8566c2664f4c29bff9ce81dd669ebf38e99e2389ce0ac78d72b054d8119b1ea0
MD5 fb41bb4fe299034166a9a140a5dbbd39
BLAKE2b-256 f64b76604cd80a43e3b9e2e9d6b03149fff29485fde62a2a3724e261d316fd0b

See more details on using hashes here.

File details

Details for the file hadolintw-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: hadolintw-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.6.10 Linux/5.3.0-1020-azure

File hashes

Hashes for hadolintw-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 be6d63db331729d37f79975d62cb85add2e336d3600a480171be337f2f7c3ce9
MD5 db88192091cc857246adbbe4e0702e7d
BLAKE2b-256 9ad8698bcfdbe9175ebcfb37172d05e3adde824ef1615797da36e67bc06ae5e4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page