        (= :from first)
        (= 0 (count (filter empty? (take-nth 2 rest))))
        (subset? (set (take-nth 2 definition))
-                DOCKER-INSTRUCTION)))
+                INSTRUCTIONS)))
 
 (defn docker
   ([definition]


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

            [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
