简介
Docker是dotCloud公司开源的一个实现轻量级的操作系统虚拟化解决方案。与传统虚拟机不一样的是容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。
对比传统主机
特性 | 容器 | 虚拟机 |
---|---|---|
启动 | 秒级 | 分钟级 |
硬盘使用 | 一般为 MB | 一般为 GB |
性能 | 接近原生 | 弱于 |
系统支持量 | 单机支持上千个容器 | 一般几十个 |
基本概念
- 镜像
Docker 镜像就是一个只读的模板。一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。
- 容器
Docker 利用容器来运行应用。
容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。 - 仓库
仓库是集中存放镜像文件的场所。有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。
仓库分为公开仓库(Public)和私有仓库(Private)两种形式。
Docker Hub: Docker Hub
Daocloud: Daocloud
安装使用
Linux
1 | curl -sSL https://get.daocloud.io/docker | sh |
Windows
1 | wget https://get.daocloud.io/toolbox/windows |
Mac OS
1 | wget https://get.daocloud.io/toolbox/mac |
使用 docker-machine1
docker-machine
安装 Docker Compose
1 | curl -L https://get.daocloud.io/docker/compose/releases/download/1.5.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose |
镜像
1. 获取镜像
1 | docker pull ubuntu:12.04 |
2. 列出本地镜像
1 | docker images |