【问题标题】:How can I reach another DigitalOcean droplet from docker with private networking?如何通过专用网络从 docker 访问另一个 DigitalOcean droplet?
【发布时间】:2018-12-04 13:25:20
【问题描述】:

我有两个水滴。

  • Host1:API,与 docker-compose 一起运行的应用程序
  • Host2:数据库在没有 docker 的主机上运行。

我为两台主机启用了专用网络。如果没有 docker,我可以从 Host1 ping 到 Host2。如何使用 DigitalOcean 的专用网络从 API 容器到达 Host2 数据库?

我知道我可以从 Host2 打开外部访问并使用公共 IP,但我想保持私密,不想为流量付费。

【问题讨论】:

    标签: docker docker-compose digital-ocean


    【解决方案1】:

    尝试将它们添加到 docker-swarm 集群。所以他们可以互相访问。 使用 Overlay 网络可以解决多主机 docker 容器连接的问题。虽然如果这不是你想要的。 但是,如果您想从容器内部访问主机,请尝试创建网桥或添加路由。如果您能够从容器 ping 主机,您只需要在主机上路由即可到达 DigiOcean 专用网络上的 host2

    a sample approach

    或者只是尝试从连接到默认网桥的容器 ping,它应该作为 NAT 工作。

    【讨论】:

    • 感谢您的回答。我不想从 Host1 上的容器到达 Host1。我正在尝试通过专用网络从 Host1 上的容器到达 Host2。类似于从我的撰写文件创建另一个网络到外部 Host2。我会看看 docker-swarm 选项。
    • 嗨,我在本地网络上试过。如果我能够从主机 ping IP,我就可以从主机上运行的容器 ping 到它。那么您可以尝试从 host1 上的容器内部 ping 到 host2。我使用的是 Docker 版本 18.09.0
    • 我试过了,但我不能让它工作。您链接的帖子谈到从容器连接到主机。我想连接到位于不同机器上并具有不同 IP 地址的 Host2。默认桥接网络无法从容器连接到 Host2
    • 您是否尝试从主机 1 的容器内部 ping 其他 IP(主机 2-私有 IP)。如果您的容器没有 ping 实用程序,只需使用一些小容器进行此测试。它应该作为 NAT 工作
    • 我的错。 Hos2 拒绝 ping。有用。非常感谢您的持续帮助。我真的很感激。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    • 2021-06-14
    相关资源
    最近更新 更多