可控开发、预发布及生产环境下,为何仍需使用Docker?
我深知在开发工作站上配置和生产环境完全一致的环境有多重要——这可是避免“在我电脑上能运行”这种头疼问题的关键。
对我来说,Docker就像“打了类固醇的李小龙对阵贾巴尔”一样强悍:如果要用到虚拟机,那还不如直接用Docker呢。
要是我在开发阶段用NuGet管理依赖,构建服务器会在部署前自动还原这些包,这样应用运行所需的依赖就能保证完全一致了。
另外,我每次部署的都是同一个应用到相同的服务器上。既然最终还是得排查问题根源,那干嘛要设置重启策略?要是应用崩溃了,其他服务器会承接负载,我需要的是找出问题并修复它,而不是养成“没关系,容器一分钟后就自己重启了”这种依赖习惯。
在云环境里,我完全懂Docker的价值:像AWS、Azure这类平台能把它的特性发挥到极致。比如客户需要更强算力时,能快速在服务器之间迁移Web应用;要是各个Web应用差异很大,还能实现彼此隔离——这简直就是Docker的绝佳用例!
但在本地部署或者托管场景下,如果我已经有PowerShell脚本能快速搭建好预装IIS的裸金属服务器,那又何必多引入一层抽象呢?
内容的提问来源于stack exchange,提问作者l5o161 b9kyit
相关产品推荐
相关产品推荐

