diff --git a/KubeArmor/core/dockerHandler.go b/KubeArmor/core/dockerHandler.go index 1a82602f2..bb7b77cb4 100644 --- a/KubeArmor/core/dockerHandler.go +++ b/KubeArmor/core/dockerHandler.go @@ -750,6 +750,7 @@ func (dm *KubeArmorDaemon) MonitorDockerEvents() { Docker, err = NewDockerHandler() if err != nil { dm.Logger.Errf("Failed to create new Docker client: %s", err) + return } } diff --git a/KubeArmor/core/kubeArmor.go b/KubeArmor/core/kubeArmor.go index 546f00966..df737bf5f 100644 --- a/KubeArmor/core/kubeArmor.go +++ b/KubeArmor/core/kubeArmor.go @@ -623,10 +623,11 @@ func KubeArmor() { // update already deployed containers err := dm.GetAlreadyDeployedDockerContainers() if err != nil { - dm.DestroyKubeArmorDaemon() + dm.Logger.Warnf("Failed to get already deployed docker containers %s", err.Error()) + } else { + // monitor docker events + go dm.MonitorDockerEvents() } - // monitor docker events - go dm.MonitorDockerEvents() } else if strings.Contains(cfg.GlobalCfg.CRISocket, "containerd") { // insuring NRI monitoring only in case containerd is present if cfg.GlobalCfg.NRIEnabled && dm.checkNRIAvailability() { @@ -669,6 +670,7 @@ func KubeArmor() { err := dm.GetAlreadyDeployedDockerContainers() if err != nil { dm.DestroyKubeArmorDaemon() + return } // monitor docker events go dm.MonitorDockerEvents() @@ -700,6 +702,7 @@ func KubeArmor() { err := dm.GetAlreadyDeployedDockerContainers() if err != nil { dm.DestroyKubeArmorDaemon() + return } // monitor docker events go dm.MonitorDockerEvents()