当连接到远程Docker时拒绝权限



我做了什么设置:

  • 我可以ssh到远程机器不需要密码。
  • 我已经在docker组sudo usermod -aG docker ${USER}中添加了用户,并且我可以在主机和本地机器上运行docker run hello-word而不需要sudo。我已经在我的本地机器上执行了ssh-addssh-add -l显示2048 SHA256:asdasdas ... (RSA)
  • 我已经尝试重新启动dockersudo service docker start.

但是当我运行命令:

docker -H ssh://host_user@host_ip:host_port ps

我仍然得到权限错误:

error during connect: Get "http://docker.example.com/v1.24/containers/json": fork/exec /usr/bin/ssh: permission denied

哦,原来是因为我安装了Docker和Snap。卸载sudo snap remove docker,然后使用

重新安装
sudo apt-get install docker-ce docker-ce-cli containerd.io

解决问题