V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
YanSeven
V2EX  ›  程序员

orbstack 今日遇到的一个 port 的“bug”

  •  
  •   YanSeven · 1 天前 · 651 次点击
    我用 Orbstack 带的 docker-compose 在 Mac 上部署了一个 mysql 服务,然后在宿主机上连接,提示我权限问题,

    mysql: [Warning] Using a password on the command line interface can be insecure.
    ERROR 1698 (28000): Access denied for user 'reserva'@'localhost'

    然后这种小问题习惯性丢给 ai ,让 ai 帮我验一下 docker-compose.yml 等等。然后 ai 一通跑没有解决。

    然后我自己上手看看,登录到容器里面,mysql 登录没有问题,在宿主机上就是死活登录不上去, 之前用 pg 比较多,然后又去网上搜索 mysql 是不是有什么权限上的“小怪癖”,一通搜索也没有解决。

    然后用 lsof 看看端口:

    lsof -i :3306
    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
    OrbStack 21326 xxxa 119u IPv4 0xc9342167e2def510 0t0 TCP localhost:mysql (LISTEN)
    OrbStack 21326 xxxa 122u IPv4 0xf85b3d5e0df3643 0t0 TCP *:mysql (LISTEN)
    OrbStack 21326 xxxa 124u IPv6 0x7feccab790ab9cb5 0t0 TCP *:mysql (LISTEN)

    然后想起来我在一个 Orbstack 中创建过一个“Machine”,然后登录 Machine 一看,里面果然也跑了一个 mysql 服务。然后我把这个 Machine 中的 mysql 服务停掉。

    回到宿主机,使用 mysql 登录,成功登录到 docker 部署的 mysql 服务。

    所以总结下来就是说,使用 Orbstack ,在 Machine 中部署了一个监听 3306 的 mysql, 使用 Orbstack 的 docker 部署了一个映射了监听 3306 的 mysql 。

    然后在宿主机上登录,直接先连到了 Machine 中的那个 mysql 里面去了,但是我也不知道这玩意儿到底连谁,它的优先级是怎么定的。

    这个现象是我没想到的。我一直理解上,“虚拟机”的端口应该是和宿主机”隔离“的吧。不过也是,Orbstack 的 Machine 好像也不能和传统的虚拟机做类比。
    2 条回复    2025-11-22 15:02:31 +08:00
    Mystery0
        1
    Mystery0  
       22 小时 16 分钟前
    前段时间在本地用 orbstack 测试服务,然后本地还有了 kubectl port-forward 将集群里面的服务转发到本地,然后调用接口的时候总感觉不对
    实际上就是 orbstack 支持把虚拟机、容器、kubernetes 集群里面的端口直接在当前机器上暴露出来,去设置项里面关掉就行了
    https://docs.orbstack.dev/machines/network#running-servers
    Mystery0
        2
    Mystery0  
       22 小时 16 分钟前
    @Mystery0 For example, if you run a web server on port 8000 in Linux, you can access it from Mac on localhost:8000
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2454 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 05:18 · PVG 13:18 · LAX 21:18 · JFK 00:18
    ♥ Do have faith in what you're doing.