【问题标题】:Connecting to Docker containers created using docker-machine from a different machine从另一台机器连接到使用 docker-machine 创建的 Docker 容器
【发布时间】:2020-01-27 10:17:29
【问题描述】:

我使用 docker-machine 创建了一些容器,它们已在数字海洋上启动并运行。

现在我想从另一台机器连接到这些容器。我在新机器上使用了machine-share 的导出和导入,可以看到我现在拥有$HOME/.docker/machine/machines/ 中容器的相关配置和密钥

但是,当我运行 docker-machine ls 时,我可以创建一个空列表,如何完成最后一步并实际从第二台机器连接到正在运行的容器?

我也试过docker-machine env <container-name>,但它返回Docker machine "<container-name>" does not exist.

【问题讨论】:

  • 应该可以直接连接到远程主机上发布的端口;您不需要 Docker Machine 或任何其他与 Docker 相关的工具。您能否提供一个更具体的示例来说明您正在运行的容器、其与端口相关的选项以及您遇到的连接错误?
  • 您的意思是您在数字海洋实例上运行 docker-machine 吗?如果是这样,你(可能)做错了事。 Docker-machine 是一种在 Windows 笔记本电脑上运行容器的旧方法。在 digital-ocean 上,您只需建立一个 ubuntu 实例并直接在操作系统上安装 docker,然后在那里运行您的容器,使用 -p 选项公开它们的端口。
  • 应该澄清一下,我要导入的机器将是“编排”节点,不同的团队成员可以在其中使用 docker-machine SSH 并管理许多不同 droplets 上的容器(我们面临的问题是团队成员需要重新启动容器,但其他人在他们的笔记本电脑上拥有 docker-machine)

标签: docker docker-compose docker-machine


【解决方案1】:

问题原来是 Ubuntu 上 Snaps 安装的 Docker/Docker-Machine 没有读取machine-import 安装的相关证书所需的权限。

要解决这个问题,您可以授予 snaps 正确的权限以从 .docker/machine/** 读取或直接安装 docker 和 docker-machine。我尝试了后者,现在当我运行 docker-machine ls

时容器可以正确显示

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    • 2016-04-23
    • 1970-01-01
    • 2013-08-05
    • 1970-01-01
    • 2020-01-30
    • 2018-01-21
    相关资源
    最近更新 更多