diff --git a/server/container_create.go b/server/container_create.go index 144483e9369..7670dc72e11 100644 --- a/server/container_create.go +++ b/server/container_create.go @@ -610,6 +610,14 @@ func (s *Server) CreateContainer(ctx context.Context, req *pb.CreateContainerReq if err := s.createContainerPlatform(container, sb.InfraContainer(), sb.CgroupParent()); err != nil { return nil, err } + defer func() { + if retErr != nil { + log.Infof(ctx, "createCtr: removing container ID %s from runtime", containerID) + if err2 := s.Runtime().DeleteContainer(container); err2 != nil { + log.Warnf(ctx, "failed to delete container in runtime %s: %v", containerID, err) + } + } + }() if err := s.ContainerStateToDisk(container); err != nil { log.Warnf(ctx, "unable to write containers %s state to disk: %v", container.ID(), err)