V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
GeekHub
dioxide
V2EX  ›  程序员

在 macOS 上直接跑 Docker 的综合体验是不是还不如在跑在 VirtualBox 的虚拟机中?

  •  
  •   dioxide · 45 天前 · 2119 次点击
    这是一个创建于 45 天前的主题,其中的信息可能已经有所发展或是发生改变。

    使用场景: Web 开发、Java 开发

    后者即 macOS 跑个 VirtualBox 的虚拟机(CentOS),然后在里边再跑 Docker.

    请有过相关使用经验的人来说说, 从使用便捷度、IO 性能、系统稳定性等方面.

    21 条回复    2020-08-13 11:18:52 +08:00
    waruqi
        1
    waruqi   45 天前 via Android   ❤️ 1
    很稳 更方便 要不是还得跑 win 我都快把 vbox 卸了
    brickxu
        2
    brickxu   45 天前   ❤️ 1
    使用上没啥区别,自己用足够了。docker for mac 也许比你的 VB 方案用着更舒服。
    imnpc
        3
    imnpc   45 天前   ❤️ 1
    docker 在最新的 macOS 下面 巨卡 超占 CPU
    moonrailgun
        4
    moonrailgun   45 天前 via Android   ❤️ 1
    长期使用很稳定,本地 redis mysql 都挂在上面。没关过
    hlin
        5
    hlin   45 天前 via iPhone   ❤️ 1
    之前用着挺好 某次重启机器后一直卡在 is starting,google 了半天也没解决 最后换了 vb
    VeryZero
        6
    VeryZero   45 天前
    体验倒还好,就是费电..
    Resource
        7
    Resource   45 天前   ❤️ 1
    貌似 docker desktop for mac 的磁盘 io 性能会比较差,如果不关注这个倒是区别不大,用 docker machine 跑在虚拟机中就没有这个问题
    dioxide
        8
    dioxide   45 天前
    @imnpc, @Resource, 我看到的负面反馈也是主要集中在 磁盘 IO 上. 那是不是说在 VB 上跑,只要给够 VB 足够的资源,这个问题就能一定程度上绕过去?
    libook
        9
    libook   45 天前   ❤️ 1
    目前开发 Web 全栈,体验上没啥区别,所以没必要套一层虚拟机。

    便捷程度取决于你怎么用,正常使用话一个是在 Mac 上开 Docker daemon,另一个是先开 VM 再在 VM 的 Linux 里开 Docker daemon,(或者两者的 Docker daemon 都做成自动启动的),这么看来好像在 Mac 上直接用 Docker 更方便。

    IO 性能方面,VM 多套了一层虚拟磁盘,猜测可能会有性能损耗,没实测过。

    系统稳定性跟这俩方案没关系把,取决于你用的啥系统,以及系统使用状况是啥样的。
    lululau
        10
    lululau   45 天前 via iPhone
    web 开发 Java 开发 跟 docker 有个球关系哦
    Resource
        11
    Resource   45 天前   ❤️ 1
    然后内存占用,用虚拟机+docker machine 内存占用可以大大降低,但是操作会稍微麻烦点,每次要先启动虚拟机软件,然后 docker machine 命令开启 docker 的虚拟机,不通过命令行直接在虚拟机里面启动虚拟机貌似会有目录挂载问题,我用 paralles desktop 会有这个问题,不知道 VBox 有没有
    Resource
        12
    Resource   45 天前
    xgfan
        13
    xgfan   45 天前
    @libook mac 的 docker 本身就是在 vm 里面,不存在多套一层虚拟磁盘。
    coolcoffee
        14
    coolcoffee   45 天前
    docker for mac 本质上也是用一层轻量虚拟机(hyperkit)模拟 Linux 在跑,所以经常用着用着就发现 docker 的进程占了大部分内存。

    我现在基本上都是用的远程 Linux 跑 docker,要改东西就用 vscode remote 。经常用的环境又换回 mac 原生程序了,例如 nginx, redis 。
    wangfyyy
        15
    wangfyyy   45 天前 via Android
    容器启多了,是可能卡,改下 docker 的资源分配就好
    594duck
        16
    594duck   45 天前 via iPhone
    @lululau 你怎么能这么说 人家先开一个服务器,服务器里装了一个虚拟机,虚拟机里启动了 docker,docker 里开了一个 k8s,然后 k8s 里再开了 docker 然后部署了 java 。

    你看多么的优雅啊。多么的牛逼呀。
    dioxide
        17
    dioxide   45 天前
    @coolcoffe, 综合考虑下来, 我也打算这么干
    zhangxu3486432
        18
    zhangxu3486432   45 天前
    在 mac 中,docker 会先开一个 Linux 虚拟机,然后再跑 docker 其他服务
    falcon05
        19
    falcon05   45 天前 via iPhone
    直接跑十分费电,反正我是忍受不了的,内存占用也有些问题,操作跟原生也不尽相同。尝试了两次最终放弃了
    Xusually
        20
    Xusually   45 天前
    还是推荐 vbox 吧。
    毕竟 macOS 的 docker 本身就是得用虚拟机。性能问题、bug 都有。
    ruzztok
        21
    ruzztok   44 天前   ❤️ 1
    最佳体验应该是 docker-cli 连接远程 linux 的 docker 环境
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1789 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 16:24 · PVG 00:24 · LAX 09:24 · JFK 12:24
    ♥ Do have faith in what you're doing.