• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cxytz01
V2EX  ›  程序员

使用 vmware 还是 docker 来搭建 Linux 实验环境?

  •  
  •   cxytz01 · Nov 4, 2021 · 9472 views
    This topic created in 1824 days ago, the information mentioned may be changed or developed.

    本人是后端码农,工作(coding 、编译、执行、实验)需要用到 linux ,办公需要用到 windows 或者 mac(各种办公软件,IM 等)。公司不提供开发机器,我也不想弄两台机器,一台装 linux ,一台装 windows 或者 mac 。

    在日常使用中,发现直接进入 docker 容器也可以进行 linux c++实验,速度快,尚未发现哪些坑。相比 vmware ,可以免去 vmware 的启动,vmware 内 linux 的启动。

    在有限的实验次数、实验时间下,发现 docker linux 是可以胜任后端开发的 linux 的实验的。

    请问问大家是如何不依赖外部 linux 机器的条件下,在 windows 或者 mac 上做 linux 实验的? docker 是否更方便?

    ps: 1.此贴不是比较虚拟机和容器的区别,而是讨论虚拟机虚拟 linux 和容器 linux 哪个更易于做后端实验。 2.不讨论 docker 、vmware 提供的超出 linux 本身的特性。 包括但不限于:snapshoot ,网络抖动模拟。

    45 replies  •  2021-11-07 14:54:18 +08:00
    Coolxiaobai
    Coolxiaobai
    Nov 4, 2021
    1
    vmware
    cpstar
    cpstar
    Nov 4, 2021
    2
    这个问题本身不就是讨论容器和虚拟机区别的么?

    一系列问题下来,你自己就有答案了,显然是 vmware 啊,甚至上实机做

    docker 是要隔离操作系统差异的应用级虚拟化,如果你的目标不是分发应用,何必在这层上折腾呢?
    6IbA2bj5ip3tK49j
    6IbA2bj5ip3tK49j
    Nov 4, 2021 via iPhone❤️2
    3
    你在 win/mac 上用的 docker ,本身就是套在虚拟机里面的。
    cheng6563
    cheng6563
    Nov 4, 2021❤️2
    4
    早日脱离 hyperv ,早日获得新生。
    请选择 vmware ,再不济 visualbox
    6IbA2bj5ip3tK49j
    6IbA2bj5ip3tK49j
    Nov 4, 2021 via iPhone
    5
    所以你的问题实际上就是,我该用虚拟机,还是虚拟机里面的 docker ?
    cheng6563
    cheng6563
    Nov 4, 2021
    6
    windows 主机下个 docker toolbox 的 docker.exe ,然后远程连虚拟机里的 daemon 就行了,就和 docker on windows 一毛一样了。
    huntagain2008
    huntagain2008
    Nov 4, 2021
    7
    本人非程序员。公司只给了一套 3090 元的电脑+显示器+键盘鼠标。上午用 Win11 ,中午重启电脑用固态 U 盘启动 ArchLinux 。Win11 和 ArchLinux 上我都装了 Docker 。Win11 用的 Docker Desktop WSL2 ,明显感觉 Linux 好用。既然你都是码农了,为何要用 Windows?我一个非程序员都在 Linux 用 libreoffice 用的毫无问题,打印机用 cups 配置好当时就准备完全迁到 Linux 办公了。可惜 Win11 忽然更新补丁后变得没那么卡,于是我又忍了。另外我显示器后绑了一台 VDI 盒子,配合另一台 AOC 显示器用 Win7 虚拟机,用 Synergy 我一套鼠标键盘控制着物理机和虚拟机,想复制粘贴文本到另一边也毫无问题,实在 Linux 不方便用的办公软件就用 Win7 虚拟机就解决了。
    Quarter
    Quarter
    Nov 4, 2021 via iPhone❤️2
    8
    @huntagain2008 我觉得程序员和用什么系统真没什么关系,除非业务有特殊需求,不然自己喜欢用啥系统就用啥系统,不应该存在“系统绑架”这种奇怪的想法的
    xuanbg
    xuanbg
    Nov 4, 2021❤️2
    9
    在 vm 里面跑 docker ,这样你就不需要纠结了。我为什么这么干,因为 docker desktop 太坑。
    huntagain2008
    huntagain2008
    Nov 4, 2021
    10
    @Quarter 您说的对。
    dingwen07
    dingwen07
    Nov 4, 2021 via iPhone
    11
    Windows 下我会选择 WSL2
    oxromantic
    oxromantic
    Nov 4, 2021
    12
    既然从事 linux 相关工作,是我的话就是 linux 做主力开发机,非得用 win 的就走 vm
    photon006
    photon006
    Nov 4, 2021
    13
    pve
    0Vincent0Zhang0
    0Vincent0Zhang0
    Nov 4, 2021 via Android
    14
    当然是 docker ,各种组件开箱即用。
    打包编译环境,容器,消息队列,缓存,数据库都有现成的镜像可用。
    如果用 vm 的话,那是装在一起还是每个组件一个 vm 。?同一个组件换版本呢?
    zzzzzdai
    zzzzzdai
    Nov 4, 2021
    15
    multipass 试试
    yuancoder
    yuancoder
    Nov 4, 2021
    16
    可以虚拟机里装 docker
    ripperdev
    ripperdev
    Nov 4, 2021
    17
    Windows + Linux 云服务器
    canbingzt
    canbingzt
    Nov 4, 2021
    18
    vmware 自带了一个 vctl 命令,和 docker 差不多,你可以试一下,但是这个命令明显不如 docker 好用
    waising
    waising
    Nov 4, 2021
    19
    win 和 mac 用 vm 装 linux+docker
    efaun
    efaun
    Nov 4, 2021
    20
    用 vmware ,然后在 linux 里装 docker
    SJ2050cn
    SJ2050cn
    Nov 4, 2021
    21
    windows+wsl2 子系统。
    neroxps
    neroxps
    Nov 4, 2021
    22
    看你的内容涉不涉及 linux 网络和 linux 内核,如果不涉及 wsl2 即可。
    xjkeyser
    xjkeyser
    Nov 4, 2021
    23
    windows+wsl2 不香么
    shengchao
    shengchao
    Nov 4, 2021
    24
    当然 windows + wsl2 + docker ,docker 现在和 wsl2 完美搭配
    biguokang
    biguokang
    Nov 4, 2021
    26
    看你用啥电脑,因为 mac 和 window 装 docker desktop 都是先给你装了一个 linux 虚拟机,然后然后容器都在这个 linux 内核上面跑。。。不过你要是用 wsl2 的话,那就可以直接在上面跑容器里,毕竟 wsl2 本身也是个 linux 虚拟机。。。。我的做法是我有一台闲置的台式机,然后台式机装的 vmware exsi ,在上面开若干个 ubuntu server ,然后在里面跑 docker 去,恰好可以玩玩 k8s
    1BF6oSYCD9ngBHo1
    1BF6oSYCD9ngBHo1
    Nov 4, 2021
    27
    “linux c++实验” 这个场景描述得具体点,楼上的回答就不会这样天马行空了
    cp19890714
    cp19890714
    Nov 4, 2021
    28
    Mac 和 Windows 的 linux-docker 本质都是 linux 虚拟机
    documentzhangx66
    documentzhangx66
    Nov 4, 2021❤️1
    29
    小孩才做选择,成年人选择都要。这是因为 VMware 与 Docker 各有优劣,因此,根据需求,都拿来用,更好。

    1.Docker 的优势在于,启动、关闭、切换的速度极快,因此,小实验,特别是快照数量不超过 3 个节点的那种,用 Docker 效率会更高。

    2.VMware 的优势在于隔离性强,能做很多更强的实验,并且 VMware 的网卡还能设置一堆高级功能,而且快照是全 GUI 的。当快照树的分支多、复杂,且最后不同节点的快照都需要导出成 ova 标准虚拟机模板时,VMware 就更适合这种场景。并且,高级网络测试时,VMware 的虚拟机的隔离性、网络配置上的隔离性与多功能性,会更好。
    Osk
    Osk
    Nov 4, 2021
    30
    hyper-v 除了不能直通 usb 设备, 显卡稀烂(Linux, 但 5.14 内核会有 hyper-v drm 驱动, 据说 Wayland 下性能好像有提升了). 其它挺好的啊.

    hyper-v 的优势: 自带, 不要钱, 性能优秀, 甚至可以说很优秀.


    不知道大家知道这个小技巧不: 使用默认交换机来 nat 上网时, guest 的 ip 一直变很烦. 为解决此问题, host 可以使用 xxx.mshome.net 这个 dns 名称来访问 xxx 主机名的这个 guest. 不用 ip 了.
    thetbw
    thetbw
    Nov 4, 2021
    31
    @huntagain2008 碰到公司用微信钉钉的就人傻了,不是不能用,就是有点碍事
    jackmod
    jackmod
    Nov 5, 2021
    32
    ubuntu 20.04 host + docker + vmware
    windows 2022 guest
    debian guest + docker
    wireguard -> NAT, vmnet
    从应用到内核,我全都要(
    dayeye2006199
    dayeye2006199
    Nov 5, 2021
    33
    看到有人提 wsl 我就放心了
    EggplantLover
    EggplantLover
    Nov 5, 2021 via Android
    34
    wsl2 想用起来还得固定 ip 加端口映射,好麻烦
    vvhhaaattt
    vvhhaaattt
    Nov 5, 2021 via Android
    35
    wsl 升级 wsl2 后,有个 git 库.git 文件夹里有 object 文件损坏,下了两次了,都是第二天 git 就坏掉了,准备切 vmware 了
    Davic1
    Davic1
    Nov 5, 2021
    36
    用什么虚拟化都行, 重要的是要用 Vagrant!!!!
    pixiaotiao
    pixiaotiao
    Nov 5, 2021 via Android
    37
    我在 windows 开发 在 wsl2 下的 docker 里运行
    2i2Re2PLMaDnghL
    2i2Re2PLMaDnghL
    Nov 5, 2021
    38
    冷知识:你可以裸机装 Linux 然后虚拟机装 Windows
    huntagain2008
    huntagain2008
    Nov 5, 2021
    39
    @thetbw 我的 VDI 虚拟机是 Win7 系统,有钉钉和微信,公司之前报销流程确实用的钉钉,PC 端的微信我几乎不用。当然我现在回复用的 Win11 。我个人用 Linux 只是为了装 B,就好看来说还是 Win11 好看。
    huntagain2008
    huntagain2008
    Nov 5, 2021
    40
    @thetbw Windows 有它的便利,特别是云盘。我现在用 Linux 比较麻烦的是没有 icloud 图形化客户端,icloud 网页版的云盘在批量上传文件时很容易帐户被锁定搞的我又要重新登录一遍。onedrive 在 Linux 是有命令行的软件,但是对我这种小白还是不太友好,就算用也是用 onedrive 浏览器版,有些勉强。
    jin7
    jin7
    Nov 5, 2021
    41
    再买一台电脑
    fkmc
    fkmc
    Nov 5, 2021
    42
    pve+spice 远程开发
    XIVN1987
    XIVN1987
    Nov 6, 2021
    43
    Windows+WSL
    neutrinos
    neutrinos
    Nov 6, 2021 via iPhone
    44
    用物理机
    youstu
    youstu
    Nov 7, 2021
    45
    推荐 WSL2 +1 ,vmware ,docker 啥的统统不需要
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4474 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 112ms · UTC 01:10 · PVG 09:10 · LAX 17:10 · JFK 20:10
    ♥ Do have faith in what you're doing.