1、什么是 Docker
Docker是一个容器化平台,它以容器的形式将你的应用程序及所有的依赖项打包在一起,以确保你的应用程序在任何环境中无缝运行。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
2、Docker 和虚拟机有啥不同
Docker 是轻量级的沙盒,在其中运行的只是应用,虚拟机里面还有额外的系统。
3、Docker 与 LXC(Linux Container)有何不同
LXC 利用 Linux 上相关技术实现容器,Docker 则在如下的几个方面进行了改进:
- 移植性:通过抽象容器配置,容器可以实现一个平台移植到另一个平台;
- 镜像系统:基于 AUFS 的镜像系统为容器的分发带来了很多的便利,同时共同的镜像层只需要存储一份,实现高效率的存储;
- 版本管理:类似于 GIT 的版本管理理念,用户可以更方面的创建、管理镜像文件;
- 仓库系统:仓库系统大大降低了镜像的分发和管理的成本;
- 周边工具:各
本文整理了大厂面试中关于Docker的常见问题,涵盖Docker与虚拟机、LXC、Vagrant的区别,Docker在非Linux平台的运行,容器迁移,Google Container Engine,镜像和容器的定义,容器状态,安全性,镜像管理,容器资源控制,以及Docker在生产环境中的监控和安全等多个方面,旨在帮助开发者深入理解Docker的核心概念和实践技巧。
订阅专栏 解锁全文

727

被折叠的 条评论
为什么被折叠?



