Merge pull request #3558 from tianon/buildfile-run-json

Add support for RUN [""] in Dockerfiles
This commit is contained in:
Michael Crosby 2014-01-22 11:51:34 -08:00
commit 2a6e93a6fb
2 changed files with 26 additions and 1 deletions

View File

@ -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
}

View File

@ -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,
nil,
},
{
`
FROM {IMAGE}
ADD test /test
RUN ["chmod","+x","/test"]
RUN ["/test"]
RUN [ "$(cat /testfile)" = 'test!' ]
`,
[][2]string{
{"test", "#!/bin/sh\necho 'test!' > /testfile"},
},
nil,
},
}
// FIXME: test building with 2 successive overlapping ADD commands