docker 入门基础概念

  • docker 是 linux 下更高级的虚拟机,类似于 wine ,通过包互作来模拟 app 的运行环境,而非还原整个系统;

    Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

    我们用的传统虚拟机如 VMware , VisualBox 之类的需要模拟整台机器包括硬件。每台虚拟机都需要有自己的操作系统,虚拟机一旦被开启,预分配给它的资源将全部被占用。每一台虚拟机包括应用,必要的二进制和库,以及一个完整的用户操作系统。

  • app + 支持其正常运行的包(环境)进行打包 = 镜像(image),大家可以按需索取,解包安装于 docker 上以在不同 linux 上运行需要的 app 甚至操作系统;如果在Docker中创建一个ubuntu的镜像文件,这样就能将ubuntu系统集成到Docker中,就可以运行ubuntu的应用。

  • Docker 镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。

  • 容器(container)就是成功安装在 docker 上的一个个独立的镜像 ;

  • Docker 仓库是集中存放镜像文件的场所。镜像构建完成后,可以很容易的在当前宿主上运行。但是, 如果需要在其他服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry(仓库注册服务器)就是这样的服务。

    一点 docker 和 wine 的区别

  • wine/crossover是用户级的实现,模拟的是Windows程序所需的runtime(也就是一堆重新实现过的.dll),且仅支持运行Windows应用。

  • docker 现在现状是Linux下可以运行Linux容器,
    FreeBSD下可以运行FreeBSD和Linux容器(64位Linux兼容层),
    Windows Server 2016下可以Windows容器,用Hyper-V开一个Linux虚拟机之后在虚拟机里可以运行Linux容器。

  • 前者注重跨平台运行Windows应用,后者注重应用在不同Linux发行版之间的迁移,目的不太一样。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容