What
容器和虚拟机的异同
\ | 容器 | VM |
---|---|---|
构成 | 1)程序本身2)依赖 | 1)2)3)完整的操作系统 |
作用 | 为应用提供封装和隔离 | 为应用提供封装和隔离 |
Why
-
如今的软件开发在架构上已经非常复杂,开发人员通常使用多种服务构建和组装应用,并部署到不同的环境。 Docker将运输行业的集装箱的思想运用到软件打包上,为代码提供了一个机遇容器的标准化运输系统。(Container)
-
特性。
特性 集装箱 Docker 打包对象 几乎任何货物 任何软件及其依赖 硬件依赖 跨平台 隔离性 资源,网络,库都是隔离的,不会出现依赖问题 自动化 提供run,start,stop等标准化操作 高效性 轻量级,可以快速启动和迁移 职责分工 开发人员只需考虑怎么写代码;运维人员只关心如何配置基础环境 -
优势 对于开发人员: Build Once,Run Anywhere 对于运维人员: Configure Once,Run Anywhere。
How
1. Docker 架构
- Docker Client
- Docker daemon
- Docker Image
- Registry
- Docker Container
2. Docker 客户端
最常用的是docker命令
3. Docker 服务器
Docker daemon 以 Linux 后台服务的方式运行在Host上
4. Docker 镜像
Docker镜像可以看成只读模版,通过它可以创建Docker容器。 生成方式:
- 从无到有创建镜像
- 下载并使用别人构建好的镜像
- 在现有的镜像上创建新的镜像
Dockerfile: 描述镜像的内容和创建步骤的文本文件,创建命令
docker build <docker_file>
5. Docker 容器
Docker容器就是Docker镜像的运行实例
6. Registry
Registry 就是存放Docker镜像的仓库,默认为Docker Hub docker pull 可以从Registry下载镜像 docker run 则是 如果没有则先下载,然后再启动
Reference
《每天五分钟玩转Docker容器技术》