拥抱 K8S 系列 -02- 服务器部署应用和 docker 部署应用区别 (nginx 篇)
废话不多说,我们先上实操,带大家领略一下两种应用部署方式的区别。
先准备两台干净的CentOS系统 (192.168.80.74 和 192.168.80.75),分别在服务器上使用yum和docker方式创建nginx服务
第一步:安装nginx
1、yum安装nginx
192.168.80.74 使用yum方式安装nginx的命令如下
2、docker安装nginx
192.168.80.75 使用docker方式启动nginx的命令如下:
什么?你系统上的docker还没安装好?请出门左转到 https://xie.infoq.cn/article/346a3848bdb6d2bd8cd7e205e
第二步:访问nginx
这两个nginx都启动完毕了,我们使用浏览器访问看看,两种安装方式安装nginx访问都很正常。
第三步:更改访问的首页
访问首页有什么了不起的,nginx运行肯定要能访问用户自定义页面的,于是接下来我们修改一下访问首页
1、yum方式安装
刷新页面看看效果
2、docker方式安装
刷新页面看看效果
第四步:更改nginx日志配置并查看效果
1、yum方式安装
我们使用浏览器刷新几次页面然后查看nginx日志前面3列内容
2、docker方式安装
然后依旧在浏览器上刷新若干次页面,查看nginx日志
思考和总结
1、经过上面这些简单步骤,请读者回想一下,yum方式安装的nginx影响到到系统上多少个目录或者文件?而如果这台服务器是生产上使用的nginx,操作步骤将会更加复杂,甚至多个运维参与修改,影响到的目录和文件将会更多,最终这台nginx服务器要想进行迁移考虑的问题会很多很多。
2、但是docker安装的nginx只影响到的/data/nginx/目录,如果nginx要想迁移,就把/data/nginx/目录打包拷贝到其他服务器上就可以运行起来了,这个就是docker最大的优势--可迁移性。
3、yum安装的nginx会在CentOS文件系统上生成大量的文件和目录,散落在各个位置。但是docker安装的nginx就不存在这个问题,所有的文件保存在docker自己管理的数据目录下,用户无需关心,系统还是保持干净的状态。即使是容器依赖的外部文件也可以很方便的进行管理。
4、或许你会说,传统方式安装nginx除了使用yum,也可以进行编译安装,编译安装的nginx目录不都统一管理了吗?虽然是统一管理了,但是nginx依旧依赖操作系统的本身环境,nginx要想良好的运行,可能需要对操作系统本身做特定的设定调整。但docker启动的nginx所运行的环境是docker镜像,和服务器本身系统并无关系。
5、操作系统标准化本来就是一个历史难题,同一家公司,在不同时间安装的标准化可能会改变,甚至不同的运维人员也有不同的标准化操作方式,所以大多数的公司会出现不同的服务器使用不同的nginx安装方式,甚至相同的安装方式,但是路径不一致,版本不一致等各种各样的问题。使用容器后,这些问题都不复存在了。容器化是运维标准化的最终产物。
版权声明: 本文为 InfoQ 作者【张无忌】的原创文章。
原文链接:【http://xie.infoq.cn/article/ddb11baa1f5c749b3df7bb7c0】。文章转载请联系作者。
评论