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. // Remove unidentified containers.
for _, container := range unidentifiedContainers { for _, container := range unidentifiedContainers {
glog.Infof("Removing unidentified dead container %q with ID %q", container.name, container.id) 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 { if err != nil {
glog.Warningf("Failed to remove unidentified dead container %q: %v", container.name, err) 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). // Remove from oldest to newest (last to first).
numToKeep := len(containers) - toRemove numToKeep := len(containers) - toRemove
for i := numToKeep; i < len(containers); i++ { 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 { if err != nil {
glog.Warningf("Failed to remove dead container %q: %v", containers[i].name, err) glog.Warningf("Failed to remove dead container %q: %v", containers[i].name, err)
} }