1

CentOS6上Docker的安装与使用

安装Docker

yum install http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm
yum install docker-io
service docker start
chkconfig docker on

获取镜像

docker pull kaychen/centos6_lnmp

启动镜像

#进入交互模式
docker run -ti kaychen/centos6_lnmp
#后台运行模式并映射80端口到容器
docker run -d -p 80:80 kaychen/centos6_lnmp

停止镜像

​#查看所有镜像状态
docker ps -a
#停止镜像
docker stop (CONTAINER_ID)
#启动镜像
docker start (CONTAINER_ID)
#重启镜像
docker restart (CONTAINER_ID)

提交镜像修改

docker commit (CONTAINER_ID) kaychen/centos6_lnmp

上传镜像

#登录dockerHub
docker login
#上传镜像
docker push kaychen/centos6_lnmp

导出/载入镜像

#导出镜像到本地
docker save -o centos6_lnmp.tar kaychen/centos6_lnmp:latest
#载入镜像
docker load < centos6_lnmp.tar

导出/导入容器

#导出容器
docker export 61229a6262a3 > export_centos6_lnmp.tar
#导入容器
cat export_centos6_lnmp.tar | sudo docker import - kaychen/testimport
#可以通过指定 URL 或者某个目录来导入
docker import http://example.com/exampleimage.tgz example/imagerepo

注:用户既可以使用 docker load 来导入镜像存储文件到本地镜像库,也可以使用 docker import 来导入一个容器快照到本地镜像库。这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入时可以重新指定标签等元数据信息。

删除镜像

#一次性删除所有的容器
docker rm $(docker ps -q -a)
#一次性删除所有的镜像
docker rmi $(docker images -q)

CentOS6上安装和配置KVM

检查CPU是否支持虚拟化

# egrep 'vmx|svm' /proc/cpuinfo 
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni vmx ssse3 cx16 sse4_1 sse4_2 x2apic popcnt hypervisor lahf_lm arat dts tpr_shadow vnmi ept vpid
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni vmx ssse3 cx16 sse4_1 sse4_2 x2apic popcnt hypervisor lahf_lm arat dts tpr_shadow vnmi ept vpid

安装KVM

# yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager \
libvirt libvirt-python python-virtinst

安装完后重启系统,然后确认一下是否安装成功:

# reboot
# lsmod | grep kvm
kvm_amd                69416  0 
kvm                   226208  1 kvm_amd
# ll /dev/kvm 
crw-rw---- 1 root kvm 10, 232 Jun 25 15:56 /dev/kvm

至此,KVM环境已安装完成,接下来,开始安装虚拟机。
安装之前需要准备一个系统镜像ISO,我这里用的是WindowsServer2003。路径为/kvmdata/kaychen/cn_win_srv_2003_r2_enterprise_x64_with_sp2.iso

先创建一块虚拟硬盘

# qemu-img  create -f qcow2 /kvmdata/kaychen/winserver2003.img 20G

安装系统

# virt-install \
--name winserver2003 \
--ram 2048 \
--vcpus=2 \
--disk path=/kvmdata/kaychen/winserver2003.img,device=disk,format=qcow2,bus=ide,cache=writeback,size=15 \
--accelerate \
--os-type=windows \
--virt-type=kvm \
--disk /kvmdata/kaychen/cn_win_srv_2003_r2_enterprise_x64_with_sp2.iso,device=cdrom \
--vnc --vncport=9125 --vnclisten=0.0.0.0 \
--noautoconsole

虚拟机启动成功后,我们需要用VNC连接IP:9125来安装操作系统,直到系统安装完成。