151-Docker三大基础概念-容器

简单的说,容器时独立运行的一个或一组应用,以及他们的运行态环境。

容器的实质是进程,但与直接在宿主机执行的进程不同,容器进程运行于属于自己的独立的命名空间。因此容器可以拥有自己的 root 文件系统、网络配置、进程空间,甚至自己的用户 ID 空间。容器内的进程是运行在一个隔离的环境中,使用起来,就好像是在一个独立于宿主机的系统下操作一样。这种特性使得容器封装的应用比直接在宿主运行更加安全。

每一个容器运行时,是以镜像为基础层,在其上创建一个单签容器的存储层,我们可以称这个为容器运行时读写而准备的存储层为容器存储层。

容器存储层的生命周期和容器一样,容器消亡时,容器存储层也随之消亡。因此,任何保存于容器存储层的信息都会随容器删除而丢失。

按照 Docker 最佳实践的要求,容器不应该向其存储层写入任何数据,容器存储层要保持无状态化。所有的文件写入操作,都应该使用数据卷(Volume)、或者绑定宿主机目录,在这些位置的读写会跳过容器存储层,直接对宿主机(或网络存储)发生读写,其性能和稳定性更高。

数据卷的生存周期独立于容器,容器消亡,数据卷不会消亡。因此,使用数据卷后,容器删除或者重新运行之后,数据却不会丢失。

猜你喜欢

转载自blog.csdn.net/dejunyang/article/details/93201222
今日推荐