连接到 /var/run/docker.sock 时权限被拒绝

Jai*_*nam 5 docker docker-watchtower podman rhel8

我正在尝试使用podman 在 RHEL 8.0 中使用了望塔容器( https://containrrr.dev/watchtower/ )。由于 RHEL 8.0 不正式支持 docker,因此我没有在该虚拟机中安装 docker-engine。我已经启动了 podman.socket 服务,并且 podman.sock 位于 /run/podman/podman.sock

当我发出podman-compose up -d命令时,所有其他容器都成功启动,没有任何错误,但瞭望塔容器退出并显示代码 (1)。

这是瞭望塔容器生成的日志:

time="2022-01-20T13:45:50Z" level=error msg="Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.25/containers/json?filters=%7B%22status%22%3A%7B%22running%22%3Atrue%7D%7D&limit=0\": dial unix /var/run/docker.sock: connect: permission denied"
0
Run Code Online (Sandbox Code Playgroud)

我授予了 /run/podman/podman.sock 文件的执行权限,但仍然收到此错误。

带有瞭望塔服务的 docker-compose.yml 片段。

  watchtower:
    image: index.docker.io/containrrr/watchtower:1.3.0
    volumes:
      - /run/podman/podman.sock:/var/run/docker.sock 
Run Code Online (Sandbox Code Playgroud)

由于我没有 docker.sock,因此我将 podman.sock 安装到 docker.sock,以便 watchtower 可以与 docker API 进行通信。

我该如何修复它?(我不想安装docker)

Gaé*_*OER 1

默认的 podman 套接字是 root:root 660。您可能必须创建一个组,和/或 chmod 套接字。