当前位置: 首页 > 知识库问答 >
问题:

在远程主机上运行Docker

洪浩波
2023-03-14
[A]$> DOCKER_HOST=$MACHINE_B_IP:$MACHIN_B_PORT docker run hello-from-B

机器A和B之间的通信工作良好。我可以运行像imagesps这样的命令,它会给出预期的结果:

[A]$> DOCKER_HOST=$MACHINE_B_IP:$MACHIN_B_PORT docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
hello-from-B              <none>              fd5059044831        13 hours ago        1.26GB

我听说过docker-machine,但还没有尝试过,但据我所知,这并不能解决我的问题。

有什么方法可以直接使用docker来实现这一点。解决办法可能是使用SSH连接到远程主机,并直接从远程主机使用Docker客户机,但我希望尽可能避免这种解决方案。

docker_host=...docker run somethingdocker_host上运行something,而不是在本地计算机上运行。

共有1个答案

云瑞
2023-03-14

检查最新的Docker18.09是否包含该功能。
请参见docker/CLI PR 1014

  • cli应该为docker_host-h接受ssh://me@server。使用它将使用传递的配置执行ssh。
  • ssh命令将调用远程端docker CLI二进制文件上的隐藏命令。例如,docker dial-stdio.

该命令将建立到本地docker_host变量(几乎总是默认的本地套接字)的连接,并将该连接转发到命令stdio上。
尽管该命令应该在本地运行到dockerd二进制文件,但我们认为删除本地docker二进制文件是无效的配置,因此我们可以依赖于它始终存在。

如何验证

docker -H ssh://me@server run -it --rm busybox

到目前为止的反应:

从各地的OP和系统管理员那里,我们感谢您提供了这个奇妙而意想不到的特性。
我希望这将大大减少我看到人们打开DockerdTCP W/O TLS并选择SSHendpoint进行远程MGMT的次数。

 类似资料:
  • 问题内容: 是否可以(直接使用命令或API)从远程主机启动容器? 假设我有两台具有不同体系结构的机器:-A是一台机器-B是一台机器 我想使用我的A机器在B机器上运行一个容器。起初,我认为可以使用以下命令: 但这个命令实际上拉图像,并试图在其中一些最终的机器运行它的原因很明显,你不能运行的图像所特有的一种机器。 机器A和B之间的通信正常。我可以运行诸如或的命令,它可以给我预期的结果: 我听说过并且还

  • 以下是在远程主机上安装PIP/BOTO的任务,这些任务在运行route53模块时不会再出现错误:

  • 我按照官方指示在Ubuntu 16.04上安装了docker,并成功地将注册表作为容器运行。我想远程连接到另一个容器,所以我尝试: 我得到一个错误: 连接过程中出错:Posthttp://1.2.3.4:2375/v1.29/containers/19f36d1bdfaf/exec: 拨打tcp 1.2.3.4:2375:connectex:无法建立连接,因为目标计算机主动拒绝连接。 为什么会出现

  • 我的公司正在使用Office365处理我们的邮件和共享文件(SharePoint)。因此,我们没有任何服务器。 但是,我们有一个应用程序必须在远程桌面服务器上运行。我想做的是在Azure上设置一台服务器,在上面安装远程桌面主机,然后使用它,而不是购买一台服务器。 这可能吗?我可以在Azure服务器上设置远程桌面会话主机吗?我可以使用Office365的广告作为远程桌面所需的广告吗?

  • 问题内容: 我可以在主机上运行docker命令吗?我安装在Docker容器中,现在可以以某种方式在主机上使用命令(在后台使用Docker容器的aws)吗? 我的情况是这样的:我在生产主机上有数据库备份。现在我有Jenkins cron作业,它将从db容器中获取sql文件,并将其放入服务器文件夹中。现在我还希望jenkins将此备份文件上传到AWS存储上,但是在主机上我没有安装aws,也不想在主机上

  • 我有一个运行Jenkins(2.155.1)的Docker容器,另一个运行SonarQube(7.4)的Docker容器。Jenkins正在为Jenkins插件使用SonarQube扫描仪,扫描是在Jenkins容器上完成的。项目的如下所示: 为了使扫描作为Jenkins管道作业的一部分工作,我在Jenkins容器上手动安装了,方法是下载zip文件并将其解压缩到: 这很有效,但我想通过以下方法来改