Do not initiate a RemoveContainer for containers which have AutoRemove (--rm) active.

fixes GH-71
This commit is contained in:
Fabrizio Steiner 2017-04-12 08:40:01 +02:00
parent b068c628ad
commit 52e73d7a8a

View file

@ -101,11 +101,15 @@ func (client dockerClient) StopContainer(c Container, timeout time.Duration) err
// Wait for container to exit, but proceed anyway after the timeout elapses // Wait for container to exit, but proceed anyway after the timeout elapses
client.waitForStop(c, timeout) client.waitForStop(c, timeout)
if c.containerInfo.HostConfig.AutoRemove {
log.Debugf("AutoRemove container %s, skipping ContainerRemove call.", c.ID())
} else {
log.Debugf("Removing container %s", c.ID()) log.Debugf("Removing container %s", c.ID())
if err := client.api.ContainerRemove(bg, c.ID(), types.ContainerRemoveOptions{Force: true, RemoveVolumes: false}); err != nil { if err := client.api.ContainerRemove(bg, c.ID(), types.ContainerRemoveOptions{Force: true, RemoveVolumes: false}); err != nil {
return err return err
} }
}
// Wait for container to be removed. In this case an error is a good thing // Wait for container to be removed. In this case an error is a good thing
if err := client.waitForStop(c, timeout); err == nil { if err := client.waitForStop(c, timeout); err == nil {