dockfmt
Dockerfile format.
NOTE: This is a work in progress so calm yourself if you want to file 80 bajillion
issues.
Installation
Binaries
For installation instructions from binaries please visit the Releases Page.
Via Go
$ go get github.com/jessfraz/dockfmt
Usage
$ dockfmt -h
dockfmt - Dockerfile format.
Usage: dockfmt <command>
Flags:
-d, --debug enable debug logging (default: false)
Commands:
base List the base image used in the Dockerfile(s).
dump Dump parsed Dockerfile(s).
fmt Format the Dockerfile(s).
maintainer List the maintainer for the Dockerfile(s).
version Show the version information.
Get help
$ dockfmt fmt -h
Usage: dockfmt fmt [OPTIONS] DOCKERFILE [DOCKERFILE...]
Format the Dockerfile(s).
Flags:
-D, --diff display diffs instead of rewriting files (default: false)
-d, --debug enable debug logging (default: false)
-l, --list list files whose formatting differs from dockfmt's (default: false)
-w, --write write result to (source) file instead of stdout (default: false)
Get a diff
$ dockfmt format -d htop/Dockerfile
diff htop/Dockerfile dockfmt/htop/Dockerfile
--- /tmp/dockfmt143910590 2016-09-19 15:59:22.612250710 -0700
+++ /tmp/dockfmt412224773 2016-09-19 15:59:22.612250710 -0700
@@ -4,10 +4,11 @@
# --pid host \
# jess/htop
#
-FROM alpine:latest
-MAINTAINER Jessie Frazelle <jess@linux.com>
+
+FROM alpine:latest
+MAINTAINER Jessie Frazelle <jess@linux.com>
-RUN apk --no-cache add \
+RUN apk add --no-cache \
htop
-CMD [ "htop" ]
+CMD ["htop"]
List multiple files with different output
$ dockfmt fmt -l */Dockerfile */*/Dockerfile
ab/Dockerfile
afterthedeadline/Dockerfile
android-tools/Dockerfile
ansible/Dockerfile
apt-file/Dockerfile
atom/Dockerfile
audacity/Dockerfile
awscli/Dockerfile
beeswithmachineguns/Dockerfile
buttslock/Dockerfile
camlistore/Dockerfile
cathode/Dockerfile
...
Base image inspection
$ dockfmt base */Dockerfile */*/Dockerfile
BASE COUNT
debian:stretch 50
alpine:latest 30
debian:sid 28
ubuntu:16.04 12
alpine:edge 7
python:2-alpine 3
ruby:alpine 2
java:7-alpine 2
r.j3ss.co/wine 1
kalilinux/kali-linux-docker 1
haskell 1
mhart/alpine-node:5 1
r.j3ss.co/cpuminer 1
opensuse 1
java:8-alpine 1
golang:latest 1
Maintainer inspection
$ dockfmt maintainer */Dockerfile */*/Dockerfile
MAINTAINER COUNT
Jessie Frazelle <jess@jskdj.com> 113
Christian Koep <christian.koep@ksldkfj.de> 11
Justin Garrison <justinleegarrison@hskdl.com> 2
Daniel Romero <infoslack@jjskl.com> 1
Cris G c@skdlemfhtj.com 1