@@ -61,7 +61,7 @@ func (b *Builder) readContext(context io.Reader) error {
6161 return nil
6262}
6363
64- func (b * Builder ) commit (id string , autoCmd [] string , comment string ) error {
64+ func (b * Builder ) commit (id string , autoCmd * runconfig. Command , comment string ) error {
6565 if b .disableCommit {
6666 return nil
6767 }
@@ -71,8 +71,8 @@ func (b *Builder) commit(id string, autoCmd []string, comment string) error {
7171 b .Config .Image = b .image
7272 if id == "" {
7373 cmd := b .Config .Cmd
74- b .Config .Cmd = [] string { "/bin/sh" , "-c" , "#(nop) " + comment }
75- defer func (cmd [] string ) { b .Config .Cmd = cmd }(cmd )
74+ b .Config .Cmd = runconfig . NewCommand ( "/bin/sh" , "-c" , "#(nop) " + comment )
75+ defer func (cmd * runconfig. Command ) { b .Config .Cmd = cmd }(cmd )
7676
7777 hit , err := b .probeCache ()
7878 if err != nil {
@@ -182,8 +182,8 @@ func (b *Builder) runContextCommand(args []string, allowRemote bool, allowDecomp
182182 }
183183
184184 cmd := b .Config .Cmd
185- b .Config .Cmd = [] string { "/bin/sh" , "-c" , fmt .Sprintf ("#(nop) %s %s in %s" , cmdName , srcHash , dest )}
186- defer func (cmd [] string ) { b .Config .Cmd = cmd }(cmd )
185+ b .Config .Cmd = runconfig . NewCommand ( "/bin/sh" , "-c" , fmt .Sprintf ("#(nop) %s %s in %s" , cmdName , srcHash , dest ))
186+ defer func (cmd * runconfig. Command ) { b .Config .Cmd = cmd }(cmd )
187187
188188 hit , err := b .probeCache ()
189189 if err != nil {
@@ -559,12 +559,13 @@ func (b *Builder) create() (*daemon.Container, error) {
559559 b .TmpContainers [c .ID ] = struct {}{}
560560 fmt .Fprintf (b .OutStream , " ---> Running in %s\n " , stringid .TruncateID (c .ID ))
561561
562- if len ( config .Cmd ) > 0 {
562+ if config .Cmd . Len ( ) > 0 {
563563 // override the entry point that may have been picked up from the base image
564- c .Path = config .Cmd [0 ]
565- c .Args = config .Cmd [1 :]
564+ s := config .Cmd .Slice ()
565+ c .Path = s [0 ]
566+ c .Args = s [1 :]
566567 } else {
567- config .Cmd = [] string {}
568+ config .Cmd = runconfig . NewCommand ()
568569 }
569570
570571 return c , nil
0 commit comments