对于一般开发而言(以java web项目为例),在本地通过一个开发工具,假如Intellij,足够启动,调试。。。很方便。反而如果使用了docker,需要用docker去build,然后再run,所花费的时间其实并不少,特别是构建过程。假如每次只是微小的改动,那需要反复build,非常不方便。我以为docker对于一般开发而言,只是在你开发完,基本测试完成时使用有意义。


最为一个6年经验的开发者,我觉得你其实并没有真正的了解docker是个什么?而且看你的问题,你似乎已经回答了自己的问题。

我也是做java web项目的,功能开发先在本地Intellij调试,达到提测要求后,申请上测试环境交付测试人员测试,提出bug后你再进行修改,如此几次几十次才能达到上生产环境的条件。如今开发流程大致如此。

docker是一个具备快速部署项目的工具,在资源更少的环境中部署更多的服务。并不是一个让你开发功能简单的工具,功能完成后,测试阶段反复修改完bug都需要部署服务,而10秒部署完和五分钟部署完是有很大差距的,这会提升开发、测试的整体效率,可能会大大缩短你的工期,提前上线的。你说是不是有意义?

希望回答对你有用,记得点赞哦

如果有需要技术资料的同学,可以关注微信:-公众号【程序员内点事】,获取2000G学习资料,内含精选面试题,SSM、Spring全家桶、服务、MySQL、MyCat、集群、分散式、中间件、Linux、网路、多线程Docker、ELK等等免费学习视频


日常如下

各自写自己的服务,写完提交代码到仓库。

测试用自动化脚本拉取所有服务代码并自动打包jar构建镜像,生成部署包。

测试部署测试…

开发接触不太到docker啊,严格来讲运维和写自动化脚本时更关心这些。不过作为开发docker还是要会用的,毕竟搭测试环境更快。


因为你使用的工具不行而已,如果你用Visual studio写.Net Core程序,你可以直接一键在docker中运行,也可以一键build一个docker镜像。docker在开发环境下,对我个人的最好的帮助就是不污染本机环境,。比如我可以同时跑几个不同版本的MySQL,要删除或者增加啥的,也很方便。搭建xxx环境也非常快。

我感觉docker更适合运维用。一键拉起一套服务,可以横向扩容。

docker并不适用于所有场景。比如你们有一套自己很成熟的部署或者扩容方案,那没必要使用docker。docker这货对硬体消耗非常大。


聊聊docker对我个人的意义吧。

1.我这个人对很多新事物比较好奇,经常喜欢更新一些软体的最新版本尝尝鲜,但有这个习惯的人应该都懂吧,很多时候会把环境搞崩。对于这个问题docker可以解决,当然虚拟机也可以解决。

2.我还喜欢用一些新的软体或者跑一些新的项目,这个时候可能就需要对环境做出很大的调整,要找匹配的版本,要装一些额外的东西,这时候docker镜像就很棒了!

3.当开发运维测试协同工作的时候,需要相同的环境,这时候docker又十分的有用了,省去了不少麻烦。

对于企业而言docker有著更多的意义,比如我们公司的很多产品都是基于docker开发的,感兴趣的可以去看看。

发布于 2020-01-03继续浏览内容知乎发现更大的世界打开Chrome继续神经蛙神经蛙

docker只有一个作用,同一应用多开。一般情况都用不到!


docker只有一个作用,同一应用多开。一般情况都用不到!


作为一个运维,经常碰到开发说」我本地开发环境好好的,为啥部署到线上就起不来」,其实我特么也想问问问这个问题的开发为什么,至少python和go都不会有这种问题,但假设你能在容器里面成功跑起来,那么线上也一定可以跑起来,这也一定程度减少了这种问题的撕逼。


推荐阅读:
相关文章