Fixes #10803: Delete Docker container volumes on GC

This commit is contained in:
Jimmi Dyson 2015-07-07 13:11:28 +01:00
parent 73cb04ad6b
commit 159c3c87de

View File

@ -124,7 +124,7 @@ func (cgc *realContainerGC) GarbageCollect() error {
// Remove unidentified containers.
for _, container := range unidentifiedContainers {
glog.Infof("Removing unidentified dead container %q with ID %q", container.name, container.id)
err = cgc.dockerClient.RemoveContainer(docker.RemoveContainerOptions{ID: container.id})
err = cgc.dockerClient.RemoveContainer(docker.RemoveContainerOptions{ID: container.id, RemoveVolumes: true})
if err != nil {
glog.Warningf("Failed to remove unidentified dead container %q: %v", container.name, err)
}
@ -175,7 +175,7 @@ func (cgc *realContainerGC) removeOldestN(containers []containerGCInfo, toRemove
// Remove from oldest to newest (last to first).
numToKeep := len(containers) - toRemove
for i := numToKeep; i < len(containers); i++ {
err := cgc.dockerClient.RemoveContainer(docker.RemoveContainerOptions{ID: containers[i].id})
err := cgc.dockerClient.RemoveContainer(docker.RemoveContainerOptions{ID: containers[i].id, RemoveVolumes: true})
if err != nil {
glog.Warningf("Failed to remove dead container %q: %v", containers[i].name, err)
}