1.安装docker yum install docker systemctl start docker.service systemctl enable docker.service 2.拉取centos7镜像 docker pull centos:7 3.在镜像中安装kvm环境,并制作成镜像 docker run -i -t --privileged centos:7 /bin/bash [root@73ae1783cd25 ~]# yum install centos-release-openstack-pike [root@73ae1783cd25 ~]# yum install libvirt kvm [root@73ae1783cd25 ~]# yum install openssh-clients [root@73ae1783cd25 ~]# scp root@172.17.0.1:/root/tmp/cirros-0.4.0-pre1-x86_64-disk.img /home [root@73ae1783cd25 ~]# scp root@172.17.0.1:/root/tmp/xml /home [root@73ae1783cd25 ~]# libvirtd -d [root@73ae1783cd25 ~]# virsh create /home/xml [root@73ae1783cd25 ~]# virsh list Id Name State ---------------------------------------------------- 3 cirros running [root@73ae1783cd25 ~]# virsh destroy 3 Domain 3 destroyed [root@73ae1783cd25 ~]# exit [root@acer docker]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 73ae1783cd25 libvirtkvm "/bin/bash" 37 minutes ago Exited (0) 11 seconds ago lonely_noether [root@acer docker]# docker commit -m "libvirt kvm environment" -a "zxy" 73ae1783cd25 libvirtkvmlast sha256:00dd409ec46c361ed4c8f3772e97ff070dc87d1d18e7a8514d02edecc4a61c85 [root@acer docker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE libvirtkvmlast latest 00dd409ec46c 47 seconds ago 10.93 GB 制作的镜像的名字即:libvirtkvmlast 再次启动: [root@acer docker]# docker run -i -t --privileged libvirtkvmlast /bin/bash 4.记录的几点 容器中的kvm和libvirt的版本是最新的2.9和3.2,和当前环境中的版本不同,所以如果要使用的话, docker镜像要另选择其他centos镜像或者自己制作。 如果要将虚拟机迁移到容器中,虚拟机的网络的迁移要单独处理。或许可以用veth对,连接容器和虚拟机原来所在的ovs网桥,保证网络的连通状态。 还未验证同一个宿主机中不同容器中的虚拟机的迁移,以及宿主机与容器之间进行虚拟机迁移。