多台主机上的 Docker(Windows 和 Ubuntu)

Posted

技术标签:

【中文标题】多台主机上的 Docker(Windows 和 Ubuntu)【英文标题】:Docker on several hosts (Windows and Ubuntu) 【发布时间】:2022-01-09 02:29:33 【问题描述】:

我有 2 台使用 Docker 的主机:Ubuntu 和 Windows(docker-desktop)。我想将带有 Adminer(Windows) 的容器连接到带有 MariaDB(Ubuntu) 的容器。 有可能吗? 我的主机位于同一个本地网络中,并且容器彼此隔离(当然)。我试图创建覆盖网络并相互绑定,但工作人员的消息是:“docker:来自守护进程的错误响应:连接到网络失败,请确保您的网络选项正确并检查管理器日志:超出上下文期限。” 我的目标是在不同的主机容器之间进行通信。拜托,你能帮我解决我的问题吗:)

【问题讨论】:

您是否尝试过只公开端口并使用 : 从一个端口连接到另一个端口? 任何 TCP 端口都可以映射到任何主机,与操作系统无关。这是建立在互联网之上的。 【参考方案1】: 重要提示:确保您的主机可以通过网络相互通信,并且不存在由于网络防火墙等原因造成的问题。 看起来需要将容器的端口绑定到主机。 在运行 Docker 容器时,请使用 -p 选项。您可以在 https://docs.docker.com/config/containers/container-networking/ 找到很多示例。 暴露容器端口后,您可以使用<host-machine-ip>:<host-machine-port-you-used-to-bind-container> 访问它们

【讨论】:

以上是关于多台主机上的 Docker(Windows 和 Ubuntu)的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Windows 10 上的容器连接到 docker 主机(Docker for Windows)

Docker多台物理主机之间的容器互联

docker 在windows上的使用

在 Windows 主机上的 docker 容器内更改挂载文件夹中的文件权限

docker 实战---多台物理主机的联网,容器桥接到物理网络

我们可以在多台机器(主机)上运行单个容器吗?