前言:
之前总是有人拿虚拟机和容器做比较。我之前一直理解的容器,就类似于虚拟机快照类似。拿别人的东西就直接用了。在我的虚拟机中安装一下,环境就搞好了。其实容器是一个彻底解耦的东西。各个软件相互独立互不影响
什么是镜像
从docker本身来解释。镜像是一个只读文件。它可以被用来创建容器。
从方便理解的角度来说,可以说镜像就是一个类,而容器就是它派生出来的对象。一个镜像可以创建多个容器。就像一个类可以实例化多个对象一样。
那么镜像里面有什么内容呢?
镜像类似一个一个的软件包。这些软件包之间相互独立,谁也不依赖谁。只有一个基础环境,可以是centos 也可以是Ubuntu。总之就是,一个软件装在一个系统里
什么是容器
容器就是在镜像的基础上可以读写。可以修改里面的内容。 当我们从互联网中pull下来镜像,这个运行这个镜像,就得到了一个容器。这个容器中除了有我们的软件之外,什么也没有。我们需要配置这个软件。而配置好了这个软件后,在容器中虽然生效了。但下一次运行镜像的时候,这些配置都消失了。所以当我们需要保存这些修改时,就需要提交修改生成新的镜像。
附上一张,我理解的容器搭建的php开发环境
容器开发环境
高深的原理我还没领悟到,我只是从实践出发,搭建了一个nginx 和php 让我有些小感悟。如果有不对的地方,欢迎大神指正。谢谢
网友评论