什么是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供用户下载。
常用网站