我尝试在 Rocky Linux 9 上以无根模式设置 podman,但遇到许多问题后,我卸载了所有内容并返回 Docker。我使用了许多以相同方式配置的主机,因为 Jenkins 构建节点。当我以这些主机上的docker run hello-world
用户身份运行jenkins
时,它可以正常工作。但是,当我从 Jenkins 运行时,它们立即失败并显示一条消息,表明它正在尝试使用“用户”套接字而不是/var/run/docker.socket
:
+ whoami
jenkins
[Pipeline] sh
+ groups
users wheel mock docker
[Pipeline] sh
+ docker run hello-world
docker: Cannot connect to the Docker daemon at unix:///run/user/10002/docker.sock. Is the docker daemon running?.
See 'docker run --help'.
/etc/subuid
我确保还原了在无根设置期间所做的所有更改,包括删除和中的 Jenkins 用户条目/etc/subgid
。我还确保添加到export DOCKER_HOST="unix:///var/run/docker.sock"
,~/.bashrc
但仍然遇到此错误。我确信这是我忽略的相当明显的事情,但我就是看不明白。
答案1
我在使用 Podman 时也遇到了同样的问题。我花了一些时间才弄清楚,我已经详细说明了如何以用户身份设置 Podman(对我来说也是在 Rocky 上)这里