连接 /var/run/docker.sock 时出现权限被拒绝的问题

5
我想使用watchtower容器(https://containrrr.dev/watchtower/)在RHEL 8.0中使用podman。由于docker在RHEL 8.0上没有官方支持,因此我没有在这个虚拟机中安装docker-engine。我已经启动了podman.socket服务,podman.sock位于/run/podman/podman.sock。
当我执行podman-compose up -d命令时,所有其他容器都成功启动,没有任何错误,但是watchtower容器退出并显示代码(1)。
以下是watchtower容器生成的日志:
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/podman/podman.sock文件授予执行权限,但仍然出现此错误。

包含 watchtower 服务的 docker-compose.yml 片段。

  watchtower:
    image: index.docker.io/containrrr/watchtower:1.3.0
    volumes:
      - /run/podman/podman.sock:/var/run/docker.sock 

由于我没有docker.sock,所以我正在将podman.sock挂载到docker.sock中,以便watchtower可以与docker API通信。

我该如何解决它?(我不想安装docker)

1个回答

1

默认的 Podman 套接字是 root:root 660。您可能需要创建一个组,和/或更改套接字的权限。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接