1.什么是Docker?
Docker是一个应用容器引擎,基于Go语言并且遵从Apache2.0协议开源。
Docker可以让开发者打包应用以及依赖包从一个轻量级,可移植的容器,然后发布到任何流行的linux上面。
容器是完全应用沙箱机制,相互之间不会有接口,开销比较小。
2.Docker有哪些应用场景?
Web的自动化应用的打包和发布。
自动化测试的集成和发布。
在环境中部署和调整后台应用。
3.Docker的架构
容器与虚拟机之间的区别:
容器:是一个应用层抽象,用于将代码和依赖资源打包在一起。多个容器可以在同一台机器上运行,共享操作系统内核,但各自作为独立的进程在用户空间中运行。与虚拟机相比,容器占用的空间较少(容器镜像大小通常只有几十兆),瞬间就能完成启动。
虚拟机:是一个物理硬件层抽象,用于将一台服务器变成多台服务器。管理程序允许多个 VM 在一台机器上运行。每个 VM 都包含一整套操作系统、一个或多个应用、必要的二进制文件和库资源,因此占用大量空间。而且 VM 启动也十分缓慢。