CentOS-9重启后Podman容器无法启动,提示缺少/var/run/docker.sock
修复Podman容器因缺少
/var/run/docker.sock无法启动的问题 1. 纠正符号链接方向
你之前创建的链接方向错误,容器期望读取/var/run/docker.sock,但Podman的默认套接字路径是/run/podman/podman.sock,需要将Podman套接字链接到容器指定的路径:
sudo rm -f /var/run/docker.sock sudo ln -s /run/podman/podman.sock /var/run/docker.sock
2. 确保系统级Podman套接字服务正常运行
你使用sudo操作容器,需要启动系统级的Podman套接字服务,而非用户级服务:
sudo systemctl enable --now podman.socket sudo systemctl status podman.socket
确认服务状态显示active (listening),若未启动则手动启动:
sudo systemctl start podman.socket
3. 验证套接字权限
确保容器有权限访问Podman套接字:
ls -l /run/podman/podman.sock
正常权限应为srw-rw----. 1 root podman,若权限不符,执行以下命令调整:
sudo chgrp podman /run/podman/podman.sock sudo chmod g+rw /run/podman/podman.sock
4. 检查容器的套接字挂载配置
用podman inspect查看容器的挂载配置,确认是否正确指向宿主机的/var/run/docker.sock:
sudo podman inspect <容器ID或名称> | grep -A5 -B5 "docker.sock"
如果容器启动参数或compose文件中挂载的是其他路径,需对应调整为/var/run/docker.sock。
5. 重启容器并验证
完成上述步骤后,重启目标容器并检查状态:
sudo podman restart <容器ID或名称> sudo podman ps
内容的提问来源于stack exchange,提问作者Đạt Bùi Quồc
相关产品推荐
相关产品推荐

