This commit is contained in:
Michael Crosby 2013-09-26 14:52:37 -07:00
Родитель b081a740b3
Коммит 723de87681
2 изменённых файлов: 9 добавлений и 7 удалений

Просмотреть файл

@ -1433,6 +1433,9 @@ func (cli *DockerCli) CmdRun(args ...string) error {
return nil
}
flRm := cmd.Lookup("rm")
autoRemove, _ := strconv.ParseBool(flRm.Value.String())
var containerIDFile *os.File
if len(hostConfig.ContainerIDFile) > 0 {
if _, err := ioutil.ReadFile(hostConfig.ContainerIDFile); err == nil {
@ -1580,6 +1583,12 @@ func (cli *DockerCli) CmdRun(args ...string) error {
if err != nil {
return err
}
if autoRemove {
_, _, err = cli.call("DELETE", "/containers/"+runResult.ID, nil)
if err != nil {
return err
}
}
if status != 0 {
return &utils.StatusError{Status: status}
}

Просмотреть файл

@ -90,7 +90,6 @@ type HostConfig struct {
Binds []string
ContainerIDFile string
LxcConf []KeyValuePair
AutoRemove bool
}
type BindMap struct {
@ -248,7 +247,6 @@ func ParseRun(args []string, capabilities *Capabilities) (*Config, *HostConfig,
Binds: binds,
ContainerIDFile: *flContainerIDFile,
LxcConf: lxcConf,
AutoRemove: *flAutoRemove,
}
if capabilities != nil && *flMemory > 0 && !capabilities.SwapLimit {
@ -1027,11 +1025,6 @@ func (container *Container) monitor(hostConfig *HostConfig) {
// FIXME: why are we serializing running state to disk in the first place?
//log.Printf("%s: Failed to dump configuration to the disk: %s", container.ID, err)
}
if hostConfig != nil {
if hostConfig.AutoRemove {
container.runtime.Destroy(container)
}
}
}
func (container *Container) kill() error {