diff --git a/language-docker.cabal b/language-docker.cabal
--- a/language-docker.cabal
+++ b/language-docker.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 62fe44c8aed9783d0a7b6fee136758ea45af0c4ad6af24b6496af43df80eb3b9
+-- hash: 64e893f351e7689307e2cbe6595ac2c624f727f4e02b9ff0aae6ec166f4cf5d4
 
 name:           language-docker
-version:        6.0.3
+version:        6.0.4
 synopsis:       Dockerfile parser, pretty-printer and embedded DSL
 description:    All functions for parsing, printing and writting Dockerfiles are exported through @Language.Docker@. For more fine-grained operations look for specific modules that implement a certain functionality.
                 See the <https://github.com/hadolint/language-docker GitHub project> for the source-code and examples.
diff --git a/src/Language/Docker/Parser.hs b/src/Language/Docker/Parser.hs
--- a/src/Language/Docker/Parser.hs
+++ b/src/Language/Docker/Parser.hs
@@ -91,7 +91,7 @@
     return (T.pack lit)
 
 brackets :: Parser a -> Parser a
-brackets = between (symbol "[") (symbol "]")
+brackets = between (symbol "[" *> spaces) (spaces *> symbol "]")
 
 spaces1 :: Parser ()
 spaces1 = void (takeWhile1P (Just "at least one space") (\c -> c == ' ' || c == '\t'))
diff --git a/test/Language/Docker/ParserSpec.hs b/test/Language/Docker/ParserSpec.hs
--- a/test/Language/Docker/ParserSpec.hs
+++ b/test/Language/Docker/ParserSpec.hs
@@ -140,6 +140,11 @@
                                               ]
                 in assertAst dockerfile [Run $ ArgumentsText "echo foo", Run $ ArgumentsList "echo foo"]
 
+            it "Accepts spaces inside the brackets" $
+                let dockerfile = Text.unlines [ "RUN [  \"echo\", \"foo\"  ]"
+                                              ]
+                in assertAst dockerfile [Run $ ArgumentsList "echo foo"]
+
         describe "parse CMD" $ do
             it "one line cmd" $ assertAst "CMD true" [Cmd "true"]
             it "cmd over several lines" $
