docker是一种容器技术。容器是一种轻量级,可移植,自包含的软件打包技术。解决不同服务需要不同的环境
它采取的是client/server架构,主要有是三个组件(client,daemon,registry),两个概念(image和container)
三个组件:
client端:最常见的是 docker命令
daemon:服务器端,以linux后台服务形式运行。负责 创建,运行,监控容器; 构建存储镜像。 默认是相应本地host的请求,如果需要远程,需要配置
registry: 是存放images的仓库,分为私有和共有。 默认的公有仓库是 docker hub
两个概念:
image: 镜像,可以创建容器container。 镜像本身可能包含操作系统和 用户开发的应用。
container: 容器,是镜像的运行实例。
工作流程(创建容器):
- client端执行docker 命令 (run , pull , build等)
- daemonr相应命令( 相应pull,就是去对应的仓库拿去对应的image。 run就是运行构建image)
- daemon在保存image到本地
- daemon运行image生成container。