From 2d52f7149365b0241571e61712af370eb1000159 Mon Sep 17 00:00:00 2001
From: Adar Nimrod <nimrod@shore.co.il>
Date: Wed, 10 Jul 2019 15:37:50 +0300
Subject: [PATCH] Integrate dockerfile_lint to my Docker image.

- Include the npm package and sample rules in the image.
- Add a script to lint all files passed (otherwise just the first is
checked).
---
 .dockerignore          |  1 +
 .pre-commit-hooks.yaml |  4 +---
 Dockerfile             | 19 ++++++++++++++++---
 dockerfile-lint        |  4 ++++
 4 files changed, 22 insertions(+), 6 deletions(-)
 create mode 100755 dockerfile-lint

diff --git a/.dockerignore b/.dockerignore
index 3fb6715..ed95791 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1,2 +1,3 @@
 *
 !docker-compose-config
+!dockerfile-lint
diff --git a/.pre-commit-hooks.yaml b/.pre-commit-hooks.yaml
index 05b4292..11901f1 100644
--- a/.pre-commit-hooks.yaml
+++ b/.pre-commit-hooks.yaml
@@ -12,10 +12,8 @@
   description: A rule based 'linter' for Dockerfiles
   minimum_pre_commit_version: '0.18.0'
   language: docker_image
-  entry: projectatomic/dockerfile-lint dockerfile_lint
-  args: [ '-f' ]
+  entry: adarnimrod/docker-pre-commit dockerfile-lint
   types: [ dockerfile ]
-  require_serial: true
 - id: docker-compose
   name: docker-compose config
   description: Validate the Docker Compose file using docker-compose config
diff --git a/Dockerfile b/Dockerfile
index fae5c67..184231a 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,18 @@
 FROM alpine:3.10
-RUN apk add --update --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ docker-compose && \
+RUN apk add --update --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \
+        docker-compose \
+        npm \
+    && \
+    docker-compose --version && \
+    wget https://github.com/projectatomic/dockerfile_lint/archive/v0.3.3.tar.gz -O /tmp/dockerfile_lint.tar.gz && \
+    npm install --global /tmp/dockerfile_lint.tar.gz && \
+    install -d -o root -g root -m 755 /sample_rules && \
+    tar -xzf /tmp/dockerfile_lint.tar.gz -C /tmp/ && \
+    cp /tmp/dockerfile_lint*/sample_rules/*.yaml /sample_rules/ && \
+    rm -rf /tmp/dockerfile_lint* && \
+    dockerfile_lint --help && \
     wget https://github.com/hadolint/hadolint/releases/download/v1.17.1/hadolint-Linux-x86_64 -O /usr/local/bin/hadolint && \
-    chmod +x /usr/local/bin/hadolint
-COPY docker-compose-config /usr/local/bin/
+    chmod +x /usr/local/bin/hadolint && \
+    hadolint --version
+COPY docker-compose-config dockerfile-lint /usr/local/bin/
+USER nobody
diff --git a/dockerfile-lint b/dockerfile-lint
new file mode 100755
index 0000000..c0b11ad
--- /dev/null
+++ b/dockerfile-lint
@@ -0,0 +1,4 @@
+#!/bin/sh
+set -eu
+
+echo "$@" | xargs -rtn1 dockerfile_lint --dockerfile
-- 
GitLab