什么是Docker
Docker是一个轻量级的应用容器,通过它,可以把应用程序和运行环境打包到一个可移植的容器中,实现快速部署,大幅提升开发、测试和运维的效率。与虚拟机相比,
Docker容器中去掉了操作系统(GuestOS),减少了资源浪费,可以在单机上运行更多的应用程序。
Docker的优势
- 节约时间,更快速的部署和启动,Docker容器启动是秒级,虚拟机启动是分钟级
- 节约资源,Docker容器需要的硬盘空间一般为MB,虚拟机需要的硬盘空间一般为GB
- 高性能,Docker容器运行不需要Hypervisor支持,它是内核级虚拟化,具有更高的性能
- 持续集成,实现自动构建、自动测试和自动部署,提升开发效率
- 微服务架构,通过容器编排,实现松耦合
Docker的架构
Docker使用C/S架构。Docker client和Docker daemon交互,
Docker daemon负责构建、运行和发布容器。
Docker client和Docker daemon可以运行在同一个系统上,也可以将Docker client连接到远程Docker daemon。
Docker client和Docker daemon通过socket或REST API进行交互。
Docker daemon
Docker daemon运行在主机上,用户通过Docker client与Docker daemon进行交互。
Docker client
Docker client是Docker的主要用户界面,用户通过它对Docker daemon进行访问。
Docker images
Docker image是一个只读的模板。例如,一个image可以包含一个Ubuntu操作系统,里面安装了Apache和你的web应用程序。image是用来创建容器的。用户可以创建image或更新已有的image,也可以下载和使用其他人创建的image。
Docker containers
Docker container是Docker image的运行实例。容器可以被启动、开始、停止、移动或删除。每个容器都是相互隔离和安全的应用平台。Docker利用容器来运行应用程序。
Docker registries
Docker registry是存放image的仓库。用户可以使用公开仓库和私有仓库进行下载和上传。最大的公开仓库是Docker Hub,包含了大量的image供用户下载。
常用网站