1 创建centos 基础镜像
拉取centos基础镜像
docker pull centos:latest
启动容器:使用 /usr/sbin/init 方式,否则容器中不能运行 systemctl 命令
映射两个端口:用于ssh 连接容器,和远程vnc连接容器中的虚拟机
docker run -itd --privileged -p 20022:22 -p 25900:5900 --name myCentos centos /usr/sbin/init
创建完成后:使用以下命令进入容器
docker exec -it myCentos /bin/bash
解决从仓库 ‘appstream’ 下载元数据失败:由于镜像列表中没有 URL不能准备内部镜像列表
yum install vim
Failed to set locale, defaulting to C.UTF-8
CentOS Linux 8 - AppStream
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
执行下列代码
cd /etc/yum.repos.d/
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
yum makecache
yum update -y
yum -y install vim
2 基于KVM的虚拟机创建
验证是否开启虚拟机(有输出带 vmx参数证明已经开启虚拟机 )
grep -E "vmx|svm" /proc/cpuinfo
安装KVM工具包
yum install qemu-kvm qemu-kvm-tools libvirt libvirt-client virt-manager virt-install -y
systemctl start libvirtd #启动
systemctl enable libvirtd #开机自启
ip a #查看libvirtd是否创建 virbr0 网络
把当前容器打包成镜像
创建文件夹用于保存镜像文件
mkdir -p /data/iso
拷贝宿主机iso镜像到容器的/data/iso/文件中
docker cp /home/uniontechos-desktop-20-professional-1050-amd64-k510.iso centos-kvm:/data/iso/
创建磁盘
ls /var//lib/libvirt/images/ #默认保存虚拟机磁盘的路径
#创建一个格式为raw大小为50G的裸磁盘
qemu-img create -f raw /var/lib/libvirt/images/uos-1050.raw 64G
Formatting '/var/lib/libvirt/images/CentOS-7-x86_64.raw', fmt=raw size=53687091200
#创建一个格式为raw大小为50G的稀疏格式磁盘
qemu-img create -f qcow2 /var/lib/libvirt/images/uos-1050.qcow2 64G
Formatting '/var/lib/libvirt/images/CentOS-7-x86_64.qcow2', fmt=qcow2 size=53687091200 encryption=off cluster_size=65536 lazy_refcounts=off
创建NAT网络虚拟机
virt-install --virt-type kvm --name uos --ram 2048 --vcpus 2 --cdrom=/data/iso/uniontechos-desktop-20-professional-1050-amd64-k510.iso --disk path=/var/lib/libvirt/images/uos-1050.qcow2 --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
使用 VNC Viewer 连接 (ip+容器对外映射的端口 -p25900:5900 宿主机ip+25900)报错
解决方法
进入设置(鼠标放在 VNC Viewer 界面顶部的一条白色的线上,设置界面就会下拉显示),把 General 中的 Picture quality 设置为 High 即可。
参考网站
kvm创建虚拟机
https://www.cnblogs.com/eddie1127/p/12002826.html
解决 yum -y install xx 报错
https://blog.csdn.net/qq_43035350/article/details/126290012
解决 Docker容器centos、unbuntu 无法使用 systemctl 命令
https://blog.csdn.net/weixin_40929263/article/details/104553202
标签:centos,--,虚拟机,kvm,libvirt,yum,iso
From: https://www.cnblogs.com/jiangwanrong/p/17532607.html