首页 > 解决方案 > 基于 SSH 的 Docker 套接字

问题描述

我可以通过 ssh 运行 docker socket 吗?我正在尝试运行 unix:///var/run/docker.sock 但我收到错误“守护程序服务正在运行吗?,无法连接到守护程序服务” Jenkins master 和 ubuntu 机器非常孤立,它们可能是好吧,只是在不同的机器上,甚至不在同一个房间里。Unix 域套接字,由 unix://* 标识的套接字用于在单个本地操作系统内核中进行通信,试图将它们桥接到远程机器将导致灾难。我如何在 ssh 上使用 Docker 袜子?

标签: dockerdocker-composedocker-machinedocker-registry

解决方案


斯蒂芬提出了一个解决方案,但我发现这个更适合您的用例。

你可以简单地使用

ssh xxx "docker run yyy"

或者您可以使用环境变量:

  • 确保您已激活 ssh 密钥身份验证
  • 并使用定义的这个环境变量调用所有 docker 命令: DOCKER_HOST=remoteservername docker 将使用 ssh 连接来运行命令

你也可以使用 -H (工作相同)

在这里查看更多 https://betterprogramming.pub/docker-tips-access-the-docker-daemon-via-ssh-97cd6b44a53


推荐阅读