| 123456789101112131415161718192021222324252627282930313233343536373839404142 | package dockerimport (	"bufio"	"os"	"regexp"	"strings")// GetContainerID retrieves the Docker container ID by parsing /proc/self/mountinfofunc GetContainerID() (string, error) {	// Open the mountinfo file	file, err := os.Open("/proc/self/mountinfo")	if err != nil {		return "", err	}	defer file.Close()	// Regular expression to extract container ID from paths like:	// /var/lib/docker/containers/bd4bd482f7e28566389fe7e4ce6b168e93b372c3fc18091c37923588664ca950/resolv.conf	containerIDPattern := regexp.MustCompile(`/var/lib/docker/containers/([a-f0-9]{64})/`)	// Scan the file line by line	scanner := bufio.NewScanner(file)	for scanner.Scan() {		line := scanner.Text()		// Look for container ID in the line		if strings.Contains(line, "/var/lib/docker/containers/") {			matches := containerIDPattern.FindStringSubmatch(line)			if len(matches) >= 2 {				return matches[1], nil			}		}	}	if err := scanner.Err(); err != nil {		return "", err	}	return "", os.ErrNotExist}
 |