From b3a721be343ac3183ab3cd5f52183b25a05e2f8d Mon Sep 17 00:00:00 2001 From: jingrui Date: Tue, 5 Nov 2019 11:43:07 +0800 Subject: [PATCH] docker: check running containers before del db Change-Id: I2ea6a0c5f4b7c7f859e415231d67e8e219846bd7 Signed-off-by: jingrui --- components/engine/cmd/dockerd/daemon.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/components/engine/cmd/dockerd/daemon.go b/components/engine/cmd/dockerd/daemon.go index 1981175a4a..918012a334 100644 --- a/components/engine/cmd/dockerd/daemon.go +++ b/components/engine/cmd/dockerd/daemon.go @@ -94,6 +94,14 @@ func cleanupLocalDBs(run, root string) { return } ioutil.WriteFile(dbLockPath, []byte{}, 0600) + files, _ := ioutil.ReadDir(filepath.Join(run, "containerd")) + olds, _ := ioutil.ReadDir(filepath.Join(run, "libcontainerd")) + files = append(files, olds...) + for _, f := range files { + if len(f.Name()) == 64 { // running container exist + return + } + } cleanupLocalDB(filepath.Join(root, "containerd/daemon/io.containerd.metadata.v1.bolt/meta.db")) cleanupLocalDB(filepath.Join(root, "builder/fscache.db")) cleanupLocalDB(filepath.Join(root, "volumes/metadata.db")) -- 2.17.1