1. Docker 是什么
- 开源的应用容器引擎
- 基于
Go
语言 - 完全使用沙箱机制
- 开销低
前提:Linux
常用命令
1.1 应用场景
-
Web
应用的自动化打包和发布 - 自动化测试和持续继承、发布
- 在服务型环境中部署和调整数据库或其他的后台应用
- 从头编译或者扩展现有的
OpenShift
或Cloud Foundry
平台来搭建自己的Paas
环境
2. Docker优点
- 快速、一致地交付应用程序
CI/CD
即持续集成和持续交付的工作流程 - 响应式部署和扩展
可移植、轻量级 - 同一硬件上运行更多工作负载
3. Docker架构
三个基本概念:
-
镜像(Image)
:相当于一个root
文件系统;是创建Dokcer
容器的模板 -
容器(Container)
:是镜像运行时的实体(类似:类和实例);镜像是静态的定义。可以创建、启动、停止、删除、暂停 -
仓库(Repository)
:可看作代码控制中心,用来保存镜像。
Dokcer
使用客户端-服务器(C/S
)构架模式,使用远程API
来管理和创建Docker
容器
Docker
容器通过Docker
镜像来创建
Docker
客户端(Client
):用于与Docker的守护进程通信Docker 主机(Host):物理或虚拟的机器,用于执行Docker守护进程和容器
-
Docker Registry:
Docker Hub,提供镜像集合
一个Docker Registry包含多个仓库Repository
每个仓库可以包含多个标签Tag
每个标签对应一个镜像
通常,一个仓库会包含同一软件不同版本的镜像,二标签对应该软件的各个版本
<仓库名>:<标签>
指定具体是这个软件哪个版本的镜像。lastest作为默认标签 Docker Machine:简化Docker安装的命令行工具,实现平台安装Docker
注:
- 沙箱机制
- Docker 官网:https://www.docker.com
- Github Docker 源码:https://github.com/docker/docker-ce