## Docker Daemon
安装使用Docker,得先运行Docker Daemon进程,用于管理docker,如:
镜像images
容器containers
网络network
数据卷 Dat Volumes
## Docker Client
客户端使用Rest API与Docker Daemon进行访问
## Docker平台组成(如图)
Docker Daemon
Docker Client
Docker Registry
Docker Images
Docker Containers
Docker Volumes
Docker Networks
## Docker Registry
Docker Registry是存储Docker镜像的服务,分为公共和私有
## Docker安装部署
Docker最核心的组件
1. image镜像, 构建容器 (应用程序运行所需的环境, 打包为镜像文件)
2. Container, 容器 (应用程序, 跑在容器中的)
3. 镜像仓库 (dockerhub) (保存镜像, 提供上传, 下载镜像) 作用好比 github
4. Dockerfile, 将部署项目的操作, 写成一个部署脚本, 该脚本还能构建出镜像文件
## Docker__images
镜像是一个只读模板,用于创建容器,也可以通过Dockerfile本描述镜像的内容。
镜像的概念类似于编程开发里面向对象的类,从一个基类开始(基础镜像Base Image)
构建容器的过程,就是运行镜像,生成容器实例。
Docker镜像的描述文件是Dockerfile,包含了如下的指令
a. FROM定义基础镜像
b. MAINTAINER 作者
c. RUN 运行Linux命令
d. ADD添加文件/目录
e. ENV 环境变量
f. CMD 运行进程
## Docker__containers
容器是一个镜像的运行实例,镜像>容器。
创建容器的过程
a. 获取镜像,如: docker pull centos,从镜像仓库拉取
b. 使用镜像创建容器
c. 分配文件系统,挂载一个读写层,在读写层加载镜像
d. 分配网络/网桥接口,创建一个网络接口,让容器和宿主机通信
e. 容器获取IP地址
f. 执行容器命令,如/bin/bash
g. 反馈容器启动结果。