Dockerfile format.
NOTE: This is a work in progress so calm yourself if you want to file 80 bajillion issues.
Table of Contents
For installation instructions from binaries please visit the Releases Page.
$ go get github.com/jessfraz/dockfmt
$ 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).
stages List the stages in the Dockerfile.
workdir List the workdirs for the Dockerfile(s).
version Show the version information.
$ dockfmt fmt -h
Usage: dockfmt fmt [OPTIONS] [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)
$ dockfmt fmt -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"]
$ 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
...
$ 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
$ 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
$ dockfmt stages Dockerfile
STAGE INTERPOLATED
health-check false
python-deps false
stage-2 true
$ dockfmt workdir */Dockerfile */*/Dockerfile
WORKDIR COUNT
/srv 3
/app 1