зеркало из https://github.com/microsoft/docker.git
Move run -rm to the cli only
This commit is contained in:
Родитель
b081a740b3
Коммит
723de87681
|
@ -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 {
|
||||
|
|
Загрузка…
Ссылка в новой задаче