前端使用docker有什么优势呢?
看到越来越多的文章安利docker,作为菜鸟萌新有几个问题希望用过的大佬指点一下心中的迷惑
1.目前我的流程是 npm run build
,然后借助 vscode
监听dist目录,自动通过sftp上传到服务器,一步到位,打开浏览器即可以预览
那么如果使用 docker
有什么优势呢?
2.docker
是虚拟机, 那么我访问虚拟机里面的文件,比如查看日志,修改文件。那么要敲一些记不住的命令行进去,而如果使用宝塔之类的,直接能webGUI点进去找到目录查看
这种docker
有什么优势呢?或者有什么替代处理方案呢
3.docker
是虚拟机,跑一个linux至少得运行一个linux镜像,而我本身的centos已经是一个linux环境了,跑两个是不是有点浪费资源?
以上都是我get不到的点,希望指点一下十分感谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
你觉得docker没啥用,自然是因为你没遇到这样的场景,所以就算强行上了docker,也会觉得非常别扭。想了想前端用docker好像确实不是非常必要,
npm build
以后出来一堆静态文件,扔到nginx里面就完事了。但是假如是后端的话,就比较麻烦了。一个应用要用python3.5,另一个应用要用python3.8,还有个应用依赖XXX,这个XXX还依赖于python3.3……搞起来就比较麻烦了。当然,大多数工具都有相应的多版本共存,但是弄起来不麻烦吗。而且要是很多台机器同时配置,简直想死了。
这时候如果把它封装成docker镜像,无需配置,运行仅需要一条命令,应用之间有隔离,大家内部访问的都是mysql:3306,而且还不会干扰,简直就是神器!如果你对这些没啥感觉,可以尝试一下自己从头配置搭建一个gitlab,然后再用docker启动一个gitlab,体验简直就是天差地别。
首先纠正一个小错误,docker是虚拟化技术,但并不是虚拟机,docker是半虚拟化的。虽然确实访问文件需要多一层,但是既然有宝塔WebGUi,自然也有相应的Docker WebGUI,也可以比较简单的查看容器的各项信息。
还是那句话,docker是半虚拟化的容器,有一个特点就是性能比较高。其实现在虚拟机的性能也不错,但是容器性能更高,完全相当于原生应用。你用docker跑mysql,和本地部署mysql没有什么差别,性能完全不受影响,浪费资源的情况更是不存在。
而且现在docker也并不是新鲜技术,早就广泛应用了,大家用的好好的,所以如果你有想法的话完全可以放心大胆的用,一点问题没有。
如果你觉得没必要,那就没必要,这种工具是服务开发者和运维人员的,不是用来被跟风的,不过还是可以玩玩的。如果只是在一个地方部署,那确实好像没什么用,节点多了docker的优势才会体现出来,swarm还是啥的,我也没用过(毕竟穷人没有一堆节点可以玩),多个节点同时部署或更新。
另外如果你的目标机器不是你管理的,或者你们的管理员希望所有应用都用docker,那你就用docker吧,和别人的东西在一起的话用docker能防止污染环境,同时也便于备份、重新部署和管理。其它应用都用docker的时候你突然跑出来说我不想用docker确实会对管理造成一定不便的。
首先 docker 的优势就是它不是虚拟机,节省资源。但是可以隔离不同应用的依赖环境。
应用 A 依赖 node 版本 8.x.x
应用 B 依赖 node 版本 10.x.x
前端还好,特别是一些后端应用,数据库版本这些。
还有就是环境安装可是一个老大难的问题,docker 可以完美解决。
以上就是我理解的 docker 的优势。
前端用 docker 木啥用,别被带歪了,兄弟
这个效率略低了。通常做法是直接start起个端口如3000,然后直接浏览器打开
localhost:3000
快速开发,代码改变直接局部热更新,优化得好的话,300ms就能看到最新效果。纯前端项目其实也没啥必要放服务器,比如阿里云oss,七牛云存储,都能放文件并直接访问,一个命令行就传上去了,而且基本只花带宽的钱。个人觉得用sftp不适合团队开发。