首页 > 系统相关 >docker启动centos 并安装kvm 创建虚拟机

docker启动centos 并安装kvm 创建虚拟机

时间:2023-07-06 16:44:30浏览次数:52  
标签:centos -- 虚拟机 kvm libvirt yum iso

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)报错
image
解决方法
进入设置(鼠标放在 VNC Viewer 界面顶部的一条白色的线上,设置界面就会下拉显示),把 General 中的 Picture quality 设置为 High 即可。
image

参考网站
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

相关文章

  • CentOS7搭建简单的邮件服务器_______亲测OK
    邮件服务器概述邮件收、发服务器是分开的,也就是我们需要搭建一个邮件发送服务器和一个邮件收取服务器。本文会搭建收、发两个服务器,并用邮件客户端(Foxmail)做测试。协议协议就是定义规则,这里是邮件协议,定义邮件收发的规则,了解规则有助于理解软件的配置文件。邮件发送协议SMTP(S......
  • Centos 安装教程
    下载地址:清华镜像站https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/isos/x86_64/根据下载版本选择,下面选择的是最小化安装ISO:https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso安装过程:创建新虚拟机:配置......
  • Redis使用jedis如何连接远程服务器或者虚拟机
    pom文件中导入jedis<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.4.0</version></dependency>开启虚拟机的防火墙,可以指定端口6379firewall-cmd--zone=public--add-port=63......
  • CentOS 7.9配置SSH白名单用户、白名单IP和基于公钥认证实现免密登录
    一、演示环境:IPHostnameOS192.168.0.200server1CentOS7.9192.168.0.201server2CentOS7.9192.168.0.202server3CentOS7.9说明:1、上述3台主机都关闭了firewalld和SELinux;2、每一次演示后,所有主机都会恢复默认配置。二、配置SSH白名单用户登录:1、server1中创建测试用户user1、user2......
  • hadoop集群配置 CentOS7 JDK安装 卸载
    1JDK下载下载JDK8下载地址 2SSH访问需要安装JDK的服务器3检查是否有默认安装的JDKjava-version 4卸载自带JDK4.1检查系统安装的OpenJDKrpm-qa|grepopenjdk-i 4.2  删除以上四项openjdk的安装包并且检查后显示删除完毕rpm-e--nodeps需要删除的软......
  • 如何识别虚拟机上的显卡驱动程序
    在虚拟机/云环境中运行ENVI/IDL越来越受欢迎。确保虚拟机满足与台式机或笔记本电脑相同的硬件要求非常重要。在大多数情况下,在虚拟机环境中安装和运行ENVI的方法与台式机或笔记本电脑没有什么不同。然而,虚拟机缺少物理显卡并使用默认软件库的情况并不罕见。ENVI/IDL中的某些工具......
  • Centos 下安装 pgsql 并实现远程访问
    建议跳转地址:https://juejin.cn/post/7108728363472617486=======以下内容为本人体验记载=======1、安装pgsql sudoyuminstall-ypostgresql122、初始化数据库 sudo/usr/pgsql-14/bin/postgresql-14-setupinitdb3、启动服务#设置PostgreSQL服务为开机启动sudosyst......
  • Java虚拟机(JVM)内存底层分析
    对象和类的详解类:我们叫做class。对象:我们叫做Object,instance(实例)。总结1.类可以看成一类对象的模板,对象可以看成该类的一个具体实例。2.类是用于描述同一类型的对象的一个抽象概念,类中定义了这一类对象所应具有的共同的属性、方法。类的定义:对于一个类来说,有三种成员:属......
  • centos服务器root用户无法登陆
    问题描述:研发同事反馈测试机无法远程登陆——————————————————————————————————————————————问题排查:①咱们先本地测试SSH测试下,提示没有权限“permissiondenied” ②再进机房,接上显示器发现有报错信息(提示分区节点、块有问......
  • 使用Kafka,实现Windows主机和Linux虚拟机的传输
    要在Windows主机和Linux虚拟机之间使用Kafka进行数据传输,需要按照以下详细步骤进行操作:在Windows主机上:1. 下载并安装Java Development Kit(JDK),确保在Windows上安装了Java。2. 下载Apache Kafka,可以从官方网站(https://kafka.apache.org/downloads)下载最新版本的Kafka。3. 解......