ewe22 发表于 2015-2-10 07:56:18

CentOS 6.5下使用docker 容器

docker 是一个linux 上的LXC 容器项目,类似与FreeBSD上的jail ,实际上是一个chroot环境,提供一个沙箱,用于应用程序隔离,是很轻量级的虚拟化技术。

RHEL 6.5 开始提供docker 支持,这里我们使用新出炉的 CentOS 6.5 x64 进行实验。

安装docker
yum install docker-io --enablerepo=epel

在centos6.5 上,docker 可以模拟运行多个linux环境,比如ubuntu 12.04,debian wheezy,centos 6.4,opensuse等等,列表见这里

1、下载官方制作的CentOS6.4镜像
docker pull centos

输出大致如下:
Pulling repository centos
539c0211cd76: Downloading 67.96 MB/98.56 MB (69%)
539c0211cd76: Download complete

下载的镜像位于/var/lib/docker/devicemapper/mnt/539c0211cd76*/rootfs/

2、查看安装好的虚拟机
# docker images
输出如下
REPOSITORY          TAG               IMAGE ID            CREATED             SIZE
centos            6.4               539c0211cd76      8 months ago      300.6 MB (virtual 300.6 MB)

3、接下来我们在centos 6.4的环境下执行一个top命令,然后查看输出
# ID=$( docker run -d centos /usr/bin/top -b)
# docker attach $ID
输出如下
top - 23:30:50 up 47 min,0 users,load average: 0.14, 0.44, 0.53
Tasks:   1 total,   1 running,   0 sleeping,   0 stopped,   0 zombie
Cpu(s):4.6%us,1.0%sy,0.0%ni, 91.6%id,2.8%wa,0.0%hi,0.0%si,0.0%st
Mem:   7963636k total,3795180k used,4168456k free,   120628k buffers
Swap:2097144k total,      0k used,2097144k free,1870656k cached
PID USER      PRNIVIRTRESSHR S %CPU %MEM    TIME+COMMAND   
    1 root      20   0 14896 1180984 R0.00.0   0:00.03 top      
top - 23:30:53 up 47 min,0 users,load average: 0.13, 0.43, 0.53
Tasks:   1 total,   1 running,   0 sleeping,   0 stopped,   0 zombie
Cpu(s):4.0%us,0.9%sy,0.0%ni, 93.7%id,1.3%wa,0.0%hi,0.0%si,0.0%st
Mem:   7963636k total,3790700k used,4172936k free,   120644k buffers
Swap:2097144k total,      0k used,2097144k free,1866336k cached
PID USER      PRNIVIRTRESSHR S %CPU %MEM    TIME+COMMAND   
    1 root      20   0 14896 1180984 R0.00.0   0:00.03 top

4、杀死这个虚拟机
# docker stop $ID

5、进入虚拟机的shell,干你想干的任何事情
# docker run -i -t centos /bin/bash



6、官方的这个centos镜像非常小,不到100M,如果需要配置一个复杂的环境,请直接yum解决。

docker 也提供了在线搜索镜像模板功能,类似与puppet在线安装模板(步骤1)
# docker search ubuntu
# docker search centos
# docker search debian

通过网页搜索模板 https://index.docker.io/



更多的docker使用方法见官方文档http://docs.docker.io/en/latest/



总结



docker 是一个年轻的LXC 容器项目,跟FreeBSD 的jail 相比,还不怎么成熟,但是LXC 技术仍然代表着一个先进的虚拟化方向。
页: [1]
查看完整版本: CentOS 6.5下使用docker 容器