实在没理解 docker 或 vagrant 是怎么统一 [开发] 环境的

2017-09-06 23:28:12 +08:00
 only0jac

网上搜的博客帖子,都说可以解决开发环境统一的问题

比如,公司新来了个员工,通过 docker 可以很快把他的电脑环境弄成和其他人一样的,不需要再去安装 sdk 之类

我疑问的是,假如我们是在 windows 下做 python web 开发

用 docker 的话,我将 python 的安装包和相应的库( flask django 等)打包进 docker,那别人是不是直接使用我这个镜像就可以有和我一样的开发环境?

他是不是不用再在电脑上装 python 的安装包和相应库了?

如果不用的话,他用 pycharm 等工具,怎么本地运行这个 web 项目? pycharm 的运行是需要配置 py 的安装路径吧?

如果后期我又安装了一个库,比如 requests,很小,他是不是又得更新 docker 镜像?

谢谢大家

9407 次点击
所在节点    程序员
48 条回复
aleung
2017-09-08 08:54:48 +08:00
@only0jac 代码目录是 mount 到容器的 volume 里的,在容器里的路径是 /project
only0jac
2017-09-08 09:12:26 +08:00
@param 多谢,这么一说 docker 确实效率高,可前提是还要配置好一系列的工作流是吧,没太接触过 ci 服务器,我也很想能 git push 了能自动更细,现在只会自动 check out 源码,得好好学学了,请问下如果个人项目想要搭建一个方便的工作流,比如,我本地 git push 后,除了你说的那些,还能在正式服务器上自动更新到最新版本并重启服务,这种有什么简洁的资料吗?十分感谢!

@aleung 多谢,明白了:)
mritd
2017-09-08 09:57:34 +08:00
没见过所谓的 docker 统一开发环境的,不知道这种说法从哪出来了,感觉有点逗,docker 主要是用来做微服务的,同时它可以统一测试环境与生产环境,一般用 docker 的上层肯定有编排工具,比如 k8s swarm mesos dcos 啥的,所谓的统一开发环境就别逗了,除非你开发全是 linux,然后全 vim 开发
mritd
2017-09-08 10:01:23 +08:00
还有 docker 在 ci 这一块还不错,譬如 gitlabci 在 build 不同项目的时候可以使用不同的基础镜像,方便切换 build 环境,docker 出现以后,传统交付物从代码或者编译后的 部署文件如 jar 包等变成了 docker 镜像,所有的发布部署都基于镜像,镜像内包含运行环境,从而实现测试生产环境统一
jhsea3do
2017-09-08 10:53:46 +08:00
开发环境好像不能统一的,你用 IDE,他用 VIM,我用 SUBLIME ? 你用 WIN,我用 LINUX,他用 MAC,除非大家都是做 Linux Server 端开发,另外库版本依赖用私服解决。

DOCKER 主要是加快迭代速度, 让各位高效(累死)的更新。

以前做一次集成测试的环境部署要开发和运维开会才能做的,现在运维把发布的开关交给开发,整坏了随时重来。
zhouyou457
2017-09-08 11:34:21 +08:00
最多统一一下使用的 IDE 和环境变量,为啥要全部统一,一个新人连个环境都搭不好还开发啥,除非直接上来就要求做东西,不然试用三个月是干啥的,就是让他熟悉环境和开发节奏的啊。。非得像个保姆一样什么都给他准备好了再开发嘛。。这对公司对新人都不好吧,,
aleung
2017-09-08 12:46:42 +08:00
你们说开发环境不能统一,是你们还没有做到这个程度
param
2017-09-08 15:13:34 +08:00
@only0jac docker hub 实际上支持自动 build,它可以监视 GitHub 和 bitbucket,当你提交代码之后可以自动 build 出镜像并发布在 docker hub。如果不喜欢用 docker hub 也可以用第三方的服务或者自己搭建。至于部署,我觉得在生产服务器上还是应该手动部署,测试服务器上可以自动部署。docker hub 支持在 build 出镜像后发出通知到你的服务器上,你的服务器接收到通知就更新镜像就行了。

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

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

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

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

© 2021 V2EX