猿问

小白,请教各位大佬!问一个关于docker使用的问题十分感谢

假设这个系统里我需要安装很多东西,比如nginx+mysql+php以及其他一些应用程序,那我是不是可以使用docker跑一个centos1,然后在里面配置好这些,并安装好自己的程序,保存为一个镜像。
然后在另外一个centos2的服务器里,跑这个centos1的镜像?这样性能影响大吗?
因为我一直感觉如果在centos里一个个配置nginx等的docker还不如直接安装了。
我这样的理解是否对?
谢谢
HUX布斯
浏览 240回答 2
2回答

天涯尽头无女友

你这是典型的docker误用,这么做跟装个虚拟机跑有啥区别。最佳实践是运行多个docker容器,分别跑nginx/mysql/php,通过划分到一个网桥的方式做内网间通讯。另外你对docker的理解有误。docker并不是先启动、然后你在docker里安装配置啥的、最后保存成镜像,这是虚拟机的做法。docker是先写Dockerfile来“安装配置”,打包成镜像,然后直接启动就可以了。前者也不是不可以,但耗费的资源多、占用体积大。你自己可以一下这几个服务的官方镜像,加一起都没有一个centos镜像大,你要是在centos基础上装它们几个,估计最后得几个GB的体积。docker的好处主要就是两个。一个是保证部署时环境始终一致,避免出现“为啥在我电脑上跑的好好的到你那就不行”这种甩锅问题;另一个是大规模集群化部署时,直接dockerpull&&dockerrun就可以搞定了。你要是就两台机器,折腾这个当然就会觉得“麻烦”、“还不如不用”了。至于额外的什么隔离啊性能啊速度啊轻量啊,都是细枝末节。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答