话说用 docker 当环境进行开发咋样?

2020-04-11 00:14:55 +08:00
 Flands

最近在对比 mac 和 win 的优劣势(本帖不讨论),然后看到这个帖子

https://www.v2ex.com/t/660818?p=2

刚好这两天捣鼓 docker,现在感觉用搞个 image 当开发环境也可以啊。
vscode 依旧打开宿主机的项目目录,然后在 container 里跑。
项目成员的环境也能一致,不知道运行效率如何。

14260 次点击
所在节点    程序员
79 条回复
hoyixi
2020-04-11 00:17:08 +08:00
这话说的,“用手机打打电话也可以啊”,可不是就是打电话的吗
ostrichb
2020-04-11 00:17:30 +08:00
毕竟是一个容器,效能总会有折扣。
如果是 Linux 系统的话不会太明显。但是如果要在 Windows 里面运行的话,因为是虚拟机,所以说性能折扣会更大。
WispZhan
2020-04-11 00:19:59 +08:00
你要是个 Linux,我没话说。 一个 mac 一个 win,2 个 Docker 都是基于虚拟机这有什么好说的呢。
Flands
2020-04-11 00:22:35 +08:00
@ostrichb 那就 WSL2+docker =。=
Flands
2020-04-11 00:30:20 +08:00
@WispZhan 损失 20%以内的话能接受吧,搞 3700x 级别的 U 的话体验上应该没太大差距。
来源 > https://www.reddit.com/r/docker/comments/7xvlye/docker_for_macwindows_performances_vs_linux/
lululau
2020-04-11 00:32:44 +08:00
说实话,真的搞不懂做 Java 开发的或者用其他语言做 Web 开发的为什么那么多钟情于把开发环境放在容器里。。。。。。
Flands
2020-04-11 00:35:19 +08:00
@lululau 因为环境配置麻烦啊,前端的 node-sass 没梯子的就要设置一堆东西,容器可以统一环境
littlewing
2020-04-11 00:37:27 +08:00
win 和 mac 的 docker 都是开个虚拟机然后装上 linux,在 linux 上跑 docker
jhdxr
2020-04-11 00:38:05 +08:00
@lululau 看场景。举个例子,某些项目无法确定用户的环境到底怎样的,那么 docker 在中间做这么一层,可以规避掉不少坑。
nvkou
2020-04-11 00:47:17 +08:00
性能不用考虑。你是开发,不是测试。
脚本型语言比较适用,如 lamp 一把梭。Python
编译型语言就算了吧。
RRRSSS
2020-04-11 04:54:52 +08:00
可以,docker 当开发环境,那你代码怎么办,用 volume 映射么?不过我寻思至于么,你有这么多项目要用不同环境么?

一般都是开发完了,上线的时候写个 Dockerfile 扔上去。
ericgui
2020-04-11 07:13:39 +08:00
nodejs 啊,php 等,还是要本地安装的

但是呢,mysql 啊,redis 等各种其他的,就可以用 docker 了

这是我目前的使用模式
lizheming
2020-04-11 07:22:00 +08:00
我们就是这么弄得呢,开发依赖打包到镜像,统一所有同学的依赖版本较少项目初始化的时间。
cszchen
2020-04-11 07:38:28 +08:00
在 win 和 mac 下,磁盘读写很慢
cszchen
2020-04-11 07:39:41 +08:00
补充一下,是在开发环境下,把项目目录映射到容器的情况下运行很慢。
beginor
2020-04-11 07:47:19 +08:00
尝试过, 确实会减少配置的时间, 统一配置,统一管理也是挺好的。

但是只限于 Linux,Windows 和 Mac 用 docker 文件系统性能差,npm 和 git 问题挺, 最终放弃。
lhx2008
2020-04-11 07:51:11 +08:00
sql redis mongo 消息队列这些“环境”楼主怎么处理呢?
wangxiaoaer
2020-04-11 08:17:52 +08:00
@jhdxr 这是部署的问题,只要最终应用容器化就行,不需要开发环境用容器。
AlphaTr
2020-04-11 08:28:09 +08:00
就是这么干的,mysql 、nginx 、redis 等这类环境都是通过 docker 来做的;宿主机保持干净,开发环境重建也比较快
pomelotea2009
2020-04-11 09:15:17 +08:00
@AlphaTr 这三样我都是使用 zip 免安装包,还原或者重装系统后,几个指令就可以配好

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

https://www.v2ex.com/t/661334

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

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

© 2021 V2EX