1. 什么是docker(摘自百度百科)

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
一个完整的Docker有以下几个部分组成:
1 dockerClient客户端
2 Docker Daemon守护进程
3 Docker Image镜像
4 DockerContainer容器

2. docker的优缺点

  1. 优点

由于其基于LXC的轻量级虚拟化的特点,docker相比KVM之类最明显的特点就是启动快,资源占用小。因此对于构建隔离的标准化的运行环境,轻量级的PaaS(如dokku), 构建自动化测试和持续集成环境,以及一切可以横向扩展的应用(尤其是需要快速启停来应对峰谷的web应用)。
1 构建标准化的运行环境,现有的方案大多是在一个baseOS上运行一套puppet/chef,或者一个image文件,其缺点是前者需要base OS许多前提条件,后者几乎不可以修改(因为copy on write 的文件格式在运行时rootfs是read only的)。并且后者文件体积大,环境管理和版本控制本身也是一个问题。
2 PaaS环境是不言而喻的,其设计之初和dotcloud的案例都是将其作为PaaS产品的环境基础
3 因为其标准化构建方法(buildfile)和良好的REST API,自动化测试和持续集成/部署能够很好的集成进来
4 因为LXC轻量级的特点,其启动快,而且docker能够只加载每个container变化的部分,这样资源占用小,能够在单机环境下与KVM之类的虚拟化方案相比能够更加快速和占用更少资源

  1. 缺点

Docker并不是全能的,设计之初也不是KVM之类虚拟化手段的替代品,简单总结几点:
1 LXC是基于cgroup等linux kernel功能的,因此container的guest系统只能是linux base的
2 隔离性相比KVM之类的虚拟化方案还是有些欠缺,所有container公用一部分的运行库
3 cgroup的cpu和cpuset提供的cpu功能相比KVM的等虚拟化方案相比难以度量(所以dotcloud主要是按内存收费)
4 Docker对disk的管理比较有限
5 container随着用户进程的停止而销毁,container中的log等用户数据不便收集
6 Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用
7 网络管理相对简单,主要是基于namespace隔离

3. docker的卸载

  1. 首先查找一下安装的docker的相关包:
yum list installed | grep docker
这里会出现所有我们安装过的包,如果没有的话,说明没安装

docker在windows还是linux docker是linux吗_docker

  1. 将我们安装过的docker相关包卸载
yum -y remove docker-engine

4. docker的安装

  1. docker引擎的下载
[root@VM_0_8_centos ~]# yum install docker-engine

如果出现下面的图,说明docker已经安装成功了。

docker在windows还是linux docker是linux吗_虚拟化_02


2. docker启动

[root@VM_0_8_centos ~]# service docker start

docker在windows还是linux docker是linux吗_虚拟化_03

  1. 查看docker版本
[root@VM_0_8_centos ~]# docker version

docker在windows还是linux docker是linux吗_Docker_04