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

2021-11-04 11:24:32 +08:00
 cxytz01

本人是后端码农,工作(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 ,网络抖动模拟。

8550 次点击
所在节点    程序员
45 条回复
SJ2050cn
2021-11-04 17:46:38 +08:00
windows+wsl2 子系统。
neroxps
2021-11-04 17:51:25 +08:00
看你的内容涉不涉及 linux 网络和 linux 内核,如果不涉及 wsl2 即可。
xjkeyser
2021-11-04 18:01:33 +08:00
windows+wsl2 不香么
shengchao
2021-11-04 18:05:49 +08:00
当然 windows + wsl2 + docker ,docker 现在和 wsl2 完美搭配
huaouo
2021-11-04 18:31:09 +08:00
biguokang
2021-11-04 20:31:03 +08:00
看你用啥电脑,因为 mac 和 window 装 docker desktop 都是先给你装了一个 linux 虚拟机,然后然后容器都在这个 linux 内核上面跑。。。不过你要是用 wsl2 的话,那就可以直接在上面跑容器里,毕竟 wsl2 本身也是个 linux 虚拟机。。。。我的做法是我有一台闲置的台式机,然后台式机装的 vmware exsi ,在上面开若干个 ubuntu server ,然后在里面跑 docker 去,恰好可以玩玩 k8s
1BF6oSYCD9ngBHo1
2021-11-04 22:01:41 +08:00
“linux c++实验” 这个场景描述得具体点,楼上的回答就不会这样天马行空了
cp19890714
2021-11-04 22:18:25 +08:00
Mac 和 Windows 的 linux-docker 本质都是 linux 虚拟机
documentzhangx66
2021-11-04 22:41:41 +08:00
小孩才做选择,成年人选择都要。这是因为 VMware 与 Docker 各有优劣,因此,根据需求,都拿来用,更好。

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

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

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


不知道大家知道这个小技巧不: 使用默认交换机来 nat 上网时, guest 的 ip 一直变很烦. 为解决此问题, host 可以使用 xxx.mshome.net 这个 dns 名称来访问 xxx 主机名的这个 guest. 不用 ip 了.
thetbw
2021-11-04 23:48:48 +08:00
@huntagain2008 碰到公司用微信钉钉的就人傻了,不是不能用,就是有点碍事
jackmod
2021-11-05 00:26:45 +08:00
ubuntu 20.04 host + docker + vmware
windows 2022 guest
debian guest + docker
wireguard -> NAT, vmnet
从应用到内核,我全都要(
dayeye2006199
2021-11-05 01:33:49 +08:00
看到有人提 wsl 我就放心了
EggplantLover
2021-11-05 09:05:26 +08:00
wsl2 想用起来还得固定 ip 加端口映射,好麻烦
vvhhaaattt
2021-11-05 10:19:27 +08:00
wsl 升级 wsl2 后,有个 git 库.git 文件夹里有 object 文件损坏,下了两次了,都是第二天 git 就坏掉了,准备切 vmware 了
Davic1
2021-11-05 11:13:35 +08:00
用什么虚拟化都行, 重要的是要用 Vagrant!!!!
pixiaotiao
2021-11-05 12:12:17 +08:00
我在 windows 开发 在 wsl2 下的 docker 里运行
2i2Re2PLMaDnghL
2021-11-05 12:22:01 +08:00
冷知识:你可以裸机装 Linux 然后虚拟机装 Windows
huntagain2008
2021-11-05 14:02:53 +08:00
@thetbw 我的 VDI 虚拟机是 Win7 系统,有钉钉和微信,公司之前报销流程确实用的钉钉,PC 端的微信我几乎不用。当然我现在回复用的 Win11 。我个人用 Linux 只是为了装 B,就好看来说还是 Win11 好看。
huntagain2008
2021-11-05 14:07:20 +08:00
@thetbw Windows 有它的便利,特别是云盘。我现在用 Linux 比较麻烦的是没有 icloud 图形化客户端,icloud 网页版的云盘在批量上传文件时很容易帐户被锁定搞的我又要重新登录一遍。onedrive 在 Linux 是有命令行的软件,但是对我这种小白还是不太友好,就算用也是用 onedrive 浏览器版,有些勉强。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/812956

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX