Docker 是一个开源的应用容器引擎,让开发者能够打包他们的应用以及依赖包到一个可移植的容器中,而后发布到任何流行的 Linux 机器上,也能够实现虚拟化。容器是彻底使用沙箱机制,相互之间不会有任何接口(相似 iPhone 的 app)。 docker
组成: shell
Docker 服务器守护程序(server daemon),用于管理全部的容器。 centos
Docker 命令行客户端,用于控制服务器守护程序。 bash
Docker 镜像:查找和浏览 docker 容器镜像。它也访问这里获得:Docker镜像 服务器
特性: 网络
文件系统隔离:每一个进程容器运行在一个彻底独立的根文件系统里。 app
资源隔离:系统资源,像CPU和内存等能够分配到不一样的容器中,使用cgroup。 测试
网络隔离:每一个进程容器运行在本身的网络空间,虚拟接口和IP地址。 spa
日志记录:Docker将会收集和记录每一个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索。 命令行
变动管理:容器文件系统的变动能够提交到新的映像中,并可重复使用以建立更多的容器。无需使用模板或手动配置。
交互式shell:Docker能够分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次性交互shell。
安装:
$sudo yum install docker-io
启动:
$sudo service docker start
开机自启动:
$chkconfig docker on
获取镜像:
$sudo docker pull centos:latest
查看镜像状态:
$sudo docker images centos
应该输出:
$ sudo docker images centos REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos latest 0b443ba03958 2 hours ago 297.6 MB
简单运行bash测试:
sudo docker run -i -t centos /bin/bash