前端使用docker有什么优势呢?

发布于 2022-09-12 01:25:47 字数 540 浏览 18 评论 0

看到越来越多的文章安利docker,作为菜鸟萌新有几个问题希望用过的大佬指点一下心中的迷惑

1.目前我的流程是 npm run build ,然后借助 vscode 监听dist目录,自动通过sftp上传到服务器,一步到位,打开浏览器即可以预览

那么如果使用 docker 有什么优势呢?

2.docker 是虚拟机, 那么我访问虚拟机里面的文件,比如查看日志,修改文件。那么要敲一些记不住的命令行进去,而如果使用宝塔之类的,直接能webGUI点进去找到目录查看

这种docker有什么优势呢?或者有什么替代处理方案呢

3.docker 是虚拟机,跑一个linux至少得运行一个linux镜像,而我本身的centos已经是一个linux环境了,跑两个是不是有点浪费资源

以上都是我get不到的点,希望指点一下十分感谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

彼岸花ソ最美的依靠 2022-09-19 01:25:47

那么如果使用docker有什么优势呢?

你觉得docker没啥用,自然是因为你没遇到这样的场景,所以就算强行上了docker,也会觉得非常别扭。想了想前端用docker好像确实不是非常必要,npm build以后出来一堆静态文件,扔到nginx里面就完事了。

但是假如是后端的话,就比较麻烦了。一个应用要用python3.5,另一个应用要用python3.8,还有个应用依赖XXX,这个XXX还依赖于python3.3……搞起来就比较麻烦了。当然,大多数工具都有相应的多版本共存,但是弄起来不麻烦吗。而且要是很多台机器同时配置,简直想死了。

这时候如果把它封装成docker镜像,无需配置,运行仅需要一条命令,应用之间有隔离,大家内部访问的都是mysql:3306,而且还不会干扰,简直就是神器!如果你对这些没啥感觉,可以尝试一下自己从头配置搭建一个gitlab,然后再用docker启动一个gitlab,体验简直就是天差地别。

2.docker是虚拟机, 那么我访问虚拟机里面的文件,比如查看日志,修改文件。那么要敲一些记不住的命令行进去,而如果使用宝塔之类的,直接能webGUI点进去找到目录查看

首先纠正一个小错误,docker是虚拟化技术,但并不是虚拟机,docker是半虚拟化的。虽然确实访问文件需要多一层,但是既然有宝塔WebGUi,自然也有相应的Docker WebGUI,也可以比较简单的查看容器的各项信息。

3.docker是虚拟机,跑一个linux至少得运行一个linux镜像,而我本身的centos已经是一个linux环境了,跑两个是不是有点浪费资源

还是那句话,docker是半虚拟化的容器,有一个特点就是性能比较高。其实现在虚拟机的性能也不错,但是容器性能更高,完全相当于原生应用。你用docker跑mysql,和本地部署mysql没有什么差别,性能完全不受影响,浪费资源的情况更是不存在。

而且现在docker也并不是新鲜技术,早就广泛应用了,大家用的好好的,所以如果你有想法的话完全可以放心大胆的用,一点问题没有。

巡山小妖精 2022-09-19 01:25:47

如果你觉得没必要,那就没必要,这种工具是服务开发者和运维人员的,不是用来被跟风的,不过还是可以玩玩的。如果只是在一个地方部署,那确实好像没什么用,节点多了docker的优势才会体现出来,swarm还是啥的,我也没用过(毕竟穷人没有一堆节点可以玩),多个节点同时部署或更新。

另外如果你的目标机器不是你管理的,或者你们的管理员希望所有应用都用docker,那你就用docker吧,和别人的东西在一起的话用docker能防止污染环境,同时也便于备份、重新部署和管理。其它应用都用docker的时候你突然跑出来说我不想用docker确实会对管理造成一定不便的。

会傲 2022-09-19 01:25:47

首先 docker 的优势就是它不是虚拟机,节省资源。但是可以隔离不同应用的依赖环境。
应用 A 依赖 node 版本 8.x.x
应用 B 依赖 node 版本 10.x.x
前端还好,特别是一些后端应用,数据库版本这些。
还有就是环境安装可是一个老大难的问题,docker 可以完美解决。
以上就是我理解的 docker 的优势。

傾城如夢未必闌珊 2022-09-19 01:25:47

前端用 docker 木啥用,别被带歪了,兄弟

冷情 2022-09-19 01:25:47

1.目前我的流程是npm run build,然后借助vscode监听dist目录,自动通过sftp上传到服务器,一步到位,打开浏览器即可以预览

这个效率略低了。通常做法是直接start起个端口如3000,然后直接浏览器打开localhost:3000快速开发,代码改变直接局部热更新,优化得好的话,300ms就能看到最新效果。

纯前端项目其实也没啥必要放服务器,比如阿里云oss,七牛云存储,都能放文件并直接访问,一个命令行就传上去了,而且基本只花带宽的钱。个人觉得用sftp不适合团队开发。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文