Pretty output for hadolint
Project description
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
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?
$ 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8566c2664f4c29bff9ce81dd669ebf38e99e2389ce0ac78d72b054d8119b1ea0 |
|
MD5 | fb41bb4fe299034166a9a140a5dbbd39 |
|
BLAKE2b-256 | f64b76604cd80a43e3b9e2e9d6b03149fff29485fde62a2a3724e261d316fd0b |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | be6d63db331729d37f79975d62cb85add2e336d3600a480171be337f2f7c3ce9 |
|
MD5 | db88192091cc857246adbbe4e0702e7d |
|
BLAKE2b-256 | 9ad8698bcfdbe9175ebcfb37172d05e3adde824ef1615797da36e67bc06ae5e4 |