Podman管理虚拟机有两种方式,一种是通过podman machine
来创建并管理虚拟机,在Windows/MacOS上想使用Podman功能时需要通过该方式创建一个虚拟机,但也可以在Linux上使用(虽然不是必要的);另一种方式是以OCI容器运行时方式来管理虚拟机,像管运行普通容器一样运行虚拟机。
podman machine init vm-name --cpus 4 --memory 4096 --disk-size 10
podman machine ssh vm-name
podman run --rm -it -v /:/host registry.fedoraproject.org/fedora:latest
dnf install bash coreutils crun genisoimage grep libselinux-devel \
libvirt-client libvirt-daemon-driver-qemu libvirt-daemon-log \
openssh-clients qemu-img qemu-system-x86-core shadow-utils util-linux virtiofsd cargo
git clone --depth=1 https://github.com/containers/crun-vm.git
cargo build
cp target/debug/crun-vm /host/usr/bin/crun-vm
Dockerfile:
FROM scratch
COPY noble-server-cloudimg-amd64.img /disk/
执行命令:
wget https://mirrors.huaweicloud.com/ubuntu-cloud-images/noble/current/noble-server-cloudimg-amd64.img
podman build -t ubuntu-vm:latest .
podman run --runtime crun-vm --name ubuntu-vm -d ubuntu-vm:latest ""
podman logs -f ubuntu-vm
podman exec -it ubuntu-vm --as ubuntu
注意:genisoimage
在Archlinux上的软件包名为cdrtools
执行podman exec -it ubuntu-vm --as ubuntu
之后,就登录进虚拟机做你想做的事情了。