gpt4 book ai didi

macos - Docker for Mac 虚拟机 IP

转载 作者:IT老高 更新时间:2023-10-28 12:43:34 24 4
gpt4 key购买 nike

我刚刚从以前使用 Docker Toolbox 和用于 OSX 的 virtualbox 迁移到使用 Docker for Mac。

我以前用$(docker-machine ip default)获取机器IP地址。

有没有可靠的方法来获取 Hyperkit IP 地址?

谢谢!

最佳答案

Docker 工具箱相反,Docker for WindowsDocker for Mac 旨在让您感觉 Docker 直接在您的操作系统上运行,因此它们使用在由 docker 可执行文件直接处理的轻量级管理程序(而不是 VirtualBox)下运行的轻量级虚拟机。
因此,您不会通过 docker-machine 看到它们,也不会看到除 localhost 之外的其他 IP 地址。

Docker for Windows 依赖于 HyperV 管理程序,该管理程序允许网络连接到 tcp://localhost:2375

Docker for Mac 依赖于 xhyve 管理程序,它的实现方式仅提供通过套接字 unix:///var/run/docker 的连接.sock.

解决方法

Docker for Mac 提供 TCP 连接:

  1. 安装 socat。使用 brew:

    brew install socat

  2. 运行这个 socat 命令将 TCP 请求转发到套接字

    socat TCP-LISTEN:2375,reuseaddr,fork,bind=localhost UNIX-CONNECT:/var/run/docker.sock

  3. tcp://localhost:2375

  4. 上映射你想要的

如果需要,由您在启动时运行 socat 命令。

这对我来说很有用,例如将 Webstorm nodeJS 调试器 关联到 nodeJS 容器(因为在撰写本文时,docker 调试Webstorm docker 集成插件支持,但不通过 unix 套接字)。

Docker for Mac 限制文档

https://docs.docker.com/docker-for-mac/networking/#/known-limitations-use-cases-and-workarounds

There is no docker0 bridge on macOS

Because of the way networking is implemented in Docker for Mac, you cannot see a docker0 interface in macOS. This interface is actually within HyperKit.

关于macos - Docker for Mac 虚拟机 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41267305/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com