Docker学习-概要

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制(原理引用官方网站的一段话:电脑就像一张纸,程序的运行与改动,就像将字写在纸上。而Sandboxie就相当于在纸上放了块玻璃,程序的运行与改动就像写在了那块玻璃上,除去玻璃,纸上还是一点改变都没有的。它创造了一个类似沙盒的独立作业环境,在其内部运行的程序并不能对硬盘产生永久性的影响。其为一个独立的虚拟环境,可以用来测试不受信任的应用程序或上网行为。链接:https://www.jianshu.com/p/678d8836cdbd),相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker的思想来源于集装箱,应用之间隔离打包装箱,十分轻巧。和传统的虚拟机相比,它的镜像不再需要整个系统的原生镜像,而是只需要系统内核及相关的操作环境即可,占用资源非常少,冗余步骤也减少了,启动非常快速。
传统虚拟机
在这里插入图片描述
Docker容器
在这里插入图片描述
在这里插入图片描述

Docker架构
在这里插入图片描述
镜像(image):特殊的文件系统,提供容器运行时所需要的程序、库、资源、配置等文件,还包含了运行时准备的一些配置参数。是一个用于快速部署容器的模板,可以分为基础镜像(centos等)与用户镜像(httpd,MySQL等)。
容器(container):是一种轻量级的应用程序隔离机制,允许内核自身隔离用户空间运行的数据进程,有自身的进程列表、网络、文件系统等资源,与主机共享内核。
仓库(repository):是Docker用来集中存放镜像文件的地方,有公有仓库和私有仓库。

猜你喜欢

转载自blog.csdn.net/qq_26350199/article/details/116423367
今日推荐