display command display in docker ps

Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
Upstream-commit: 5921b186d17b172f205f3b0b6bda1f3a4e650d3f
Component: engine
This commit is contained in:
Victor Vieux
2014-03-17 18:36:15 +00:00
parent 2e43a87446
commit cad533fcfe
2 changed files with 13 additions and 1 deletions

View File

@ -402,6 +402,18 @@ func populateCommand(c *Container) {
c.command.SysProcAttr = &syscall.SysProcAttr{Setsid: true}
}
func (container *Container) ArgsAsString() string {
var args []string
for _, arg := range container.Args {
if strings.Contains(arg, " ") {
args = append(args, fmt.Sprintf("'%s'", arg))
} else {
args = append(args, arg)
}
}
return strings.Join(args, " ")
}
func (container *Container) Start() (err error) {
container.Lock()
defer container.Unlock()

View File

@ -1003,7 +1003,7 @@ func (srv *Server) Containers(job *engine.Job) engine.Status {
out.SetList("Names", names[container.ID])
out.Set("Image", srv.runtime.Repositories().ImageName(container.Image))
if len(container.Args) > 0 {
out.Set("Command", fmt.Sprintf("\"%s %s\"", container.Path, strings.Join(container.Args, " ")))
out.Set("Command", fmt.Sprintf("\"%s %s\"", container.Path, container.ArgsAsString()))
} else {
out.Set("Command", fmt.Sprintf("\"%s\"", container.Path))
}