一.什么是docker
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。
二、docker的目标
三、Docker通常用于如下场景:
四、docker的基本组成
1.client客户端:docker是c/s架构,docker通过客户端发送命令给守护进程
2.daemon守护进程
3.image镜像
4.container容器
5.registry 仓库:公有仓库,私有仓库,docker公司自己出来一个Docker Hub公有仓库
namespaces命名空间
普通虚拟机将整个操作系统运行在虚拟的硬件平台上, 进而提供完整的运行环境供应用程序运行, 而Docker则直接在宿主平台上加载运行应用程序. 本质上他在底层使用LXC启动一个Linux Container,通过cgroup等机制对不同的container内运行的应用程序进行隔离,权限管理和quota分配等
每个container拥有自己独立的各种命名空间(亦即资源)包括:
PID 进程, MNT 文件系统, NET 网络, IPC , UTS 主机名 等
Control groups 控制组
记录,限制,隔离进程使用物理资源的一种机制,用来分配资源。
最初是有Google工程师提出并实现的。
2007年
资源限制
优先级设定
资源计量
资源控制
docker容器的能力
1.文件系统的隔离:每个容器都有自己的root文件系统
2.进程隔离:每个容器都运行在自己进程环境中
3.网络隔离:容器间的虚拟网络接口和IP地址都是分开的
4.资源隔离和分组:使用cgroups将CPU和内存之类的
资源独立分配给每个docker容器。
Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的“元”操作系统,它可以协调访问服务器上的所有物理设备和虚拟机,也叫虚拟机监视器(Virtual Machine Monitor)。Hypervisor是所有虚拟化技术的核心。非中断地支持多工作负载迁移的能力是Hypervisor的基本功能。当服务器启动并执行Hypervisor时,它会给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统。
mac中安装docker
使用boot2Docker:
1.轻量级的Linux发行版,为docker定制
2.virtualbox Vm
3.docker客户端
4.管理工具
boot2Docker启动过程
1.建立$HOME/.boot2docker目录
2.创建一个virualbox ISO镜像
3.启动虚拟机并运行docker守护进程
1.创建一个文件夹
mkdir -p ~/.boot2docker
2.拷贝iso镜像
if [ ! -f ~/.boot2docker/boot2docker.iso ]; then cp /usr/local/share/boot2docker/boot2docker.iso ~/.boot2docker/ ; fi
3.初始化boot2docker
/usr/local/bin/boot2docker init
4.启动boot2docker镜像
/usr/local/bin/boot2docker up
5.初始化shell环境变量
$(/usr/local/bin/boot2docker shellinit)
6.查看docker版本
docker version
什么是容器
一种虚拟化的方案
操作系统级别的虚拟化
只能运行相同或者相似内核的操作系统
依赖于Linux内核特性:namespace和cgroups
虚拟机需要模拟硬件的行为:动辄需要几个G的内存
daoCloud命令
dao pull ubuntu
搜索
docker search centos
下载
docker pull centos
历史记录
docker history image_name
docker ps 查看当前运行的容器
docker ps -a 查看所有容器
docker images 查看所有镜像
docker rm #删除容器
docker rmi #删除image
docker rm 'docker ps -a -q' 删除所有容器
国内镜像操作手册
http://dockerpool.com/article/1419997003
国内镜像网址
https://dashboard.daocloud.io
中文文档
http://dockone.io/article/102
docker官方学习地址
https://www.docker.com
查看原文:http://www.baowenwei.com/archives/811