 
 (defn build-instruction [instruction args]
   (cond
-    (not (contains? DOCKER-INSTRUCTION instruction)) ""
+    (not (contains? INSTRUCTIONS instruction)) ""
     (vector? args) (instruction-concat instruction args)
     (function? args) (instruction-concat instruction (args))
     :else (instruction-concat instruction [args])))

       (= :from first)
       (= 0 (count (filter empty? (take-nth 2 rest))))
       (subset? (set (take-nth 2 definition))
                DOCKER-INSTRUCTION)))

(defn docker
  ([definition]

            [clojure.test :refer :all]
            [clojure.set :refer :all]))

(def INSTRUCTIONS
  #{:from
    :maintainer
    :run
    :cmd
    :label
    :expose
    :env
    :add
    :copy
    :entrypoint
    :volume
    :user
    :workdir
    :arg
    :onbuild
    :stopsignal
    :healthcheck
    :shell})

(defn instruction-concat [instruction v]
  (str
