Add support for RUN [""] in Dockerfiles
@@ -136,7 +136,7 @@ func (b *buildFile) CmdRun(args string) error {
if b.image == "" {
return fmt.Errorf("Please provide a source image with `from` prior to run")
}
- config, _, _, err := ParseRun([]string{b.image, "/bin/sh", "-c", args}, nil)
+ config, _, _, err := ParseRun(append([]string{b.image}, b.buildCmdFromJson(args)...), nil)
if err != nil {
return err
@@ -223,6 +223,31 @@ run [ "$(cat /bar/withfile)" = "test2" ]
},
nil,
+
+ // JSON!
+ {
+ `
+FROM {IMAGE}
+RUN ["/bin/echo","hello","world"]
+CMD ["/bin/true"]
+ENTRYPOINT ["/bin/echo","your command -->"]
+`,
+ nil,
+ },
+ADD test /test
+RUN ["chmod","+x","/test"]
+RUN ["/test"]
+RUN [ "$(cat /testfile)" = 'test!' ]
+ [][2]string{
+ {"test", "#!/bin/sh\necho 'test!' > /testfile"},
// FIXME: test building with 2 successive overlapping ADD commands