首页 > 解决方案 > 如何使用 ip addr 或域名从 mac 机器访问 docker 容器

问题描述

我正在使用 Docker 桌面,我有几个使用 docker-compose 和端口转发运行的 docker 容器。我可以使用 localhost 从我的 mac 访问容器。在第二个容器上,我暴露在不同的端口上。我可以使用 docker inspect 看到 ip 地址与两个容器相关联,但我无法使用 ip 地址访问。

我想通过我的本地 Mac 访问容器

任何帮助表示赞赏。

谢谢

标签: dockerdocker-compose

解决方案


您不能直接连接到 MacOS 上的容器专用 IP 地址。 您也无法使用基于 VM 的 Docker 实现(如 Docker Toolbox 或 Kubernetes 的 minikube)或从不同的主机连接到它们。查找和使用这些 IP 地址或尝试手动设置它们通常不是最佳做法。

相反,您可以使用该docker run -p选项将端口从容器发布到主机。直接在主机上运行的程序可以使用localhost主机名和发布的端口号访问容器。这适用于所有平台;基于 VM 的解决方案使用 VM 的 IP 地址而不是localhost; 从不同的主机,使用 Docker 主机的 DNS 名称或 IP 地址。


推荐阅读