在 Podman 中運(yùn)行一個(gè) Linux 虛擬機(jī)
使用 Podman Machine 創(chuàng)建一個(gè)基本的 Fedora CoreOS 虛擬機(jī)來(lái)使用容器和容器化工作負(fù)載。
Fedora CoreOS 是一個(gè)自動(dòng)更新、最小化的基于 rpm-ostree 的操作系統(tǒng),用于安全地、大規(guī)模地運(yùn)行容器化工作負(fù)載。
Podman “是一個(gè)用于管理容器和鏡像、掛載到這些容器中的卷,以及由這些容器組組成的吊艙的工具。Podman 基于 libpod,它是一個(gè)容器生命周期管理庫(kù)”。
當(dāng)你使用 Podman Machine 時(shí),神奇的事情發(fā)生了,它可以幫助你創(chuàng)建一個(gè)基本的 Fedora CoreOS 虛擬機(jī)(VM)來(lái)使用容器和容器化工作負(fù)載。
開(kāi)始使用 Podman Machine
第一步是安裝 Podman。如果你已經(jīng)安裝了最新版本的 Podman,你可以跳過(guò)這個(gè)步驟。在我的 Fedora 34 機(jī)器上,我用以下方式安裝 Podman:
$ sudo dnf install podman
我使用的是 podman-3.2.2-1.fc34.x86_64。
初始化 Fedora CoreOS
Podman 安裝完成后,用以下方法初始化它:
❯ podman machine init vm2
Downloading VM image: fedora-coreos-34.20210626.1.0-qemu.x86_64.qcow2.xz: done
Extracting compressed file
這個(gè)命令創(chuàng)建了 vm2
,并下載了 .xz 格式的 Fedora CoreOS 的 qcow2 文件并將其解壓。
列出你的虛擬機(jī)
了解你的虛擬機(jī)和它們的狀態(tài)是很重要的,list
命令可以幫助你做到這一點(diǎn)。下面的例子顯示了我所有的虛擬機(jī)的名稱,它們被創(chuàng)建的日期,以及它們最后一次啟動(dòng)的時(shí)間:
❯ podman machine list
NAME VM TYPE CREATED LAST UP
podman-machine-default* qemu 6 days ago Currently running
vm2 qemu 11 minutes ago 11 minutes ago
啟動(dòng)一個(gè)虛擬機(jī)
要啟動(dòng)一個(gè)虛擬機(jī),請(qǐng)運(yùn)行:
❯ podman machine start
Waiting for VM ...
SSH 到虛擬機(jī)
你可以使用 SSH 來(lái)訪問(wèn)你的虛擬機(jī),并使用它來(lái)運(yùn)行工作負(fù)載,而沒(méi)有任何麻煩的設(shè)置:
❯ podman machine ssh
Connecting to vm podman-machine-default. To close connection, use `~.` or `exit`
Fedora CoreOS 34.20210611.1.0
Tracker: https://github.com/coreos/fedora-coreos-tracker
Discuss: https://discussion.fedoraproject.org/c/server/coreos/
Last login: Wed Jun 23 13:23:36 2021 from 10.0.2.2
[core@localhost ~]$ uname -a
Linux localhost 5.12.9-300.fc34.x86_64 #1 SMP Thu Jun 3 13:51:40 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
[core@localhost ~]$
目前,Podman 只支持一次運(yùn)行一個(gè)虛擬機(jī)。
停止你的虛擬機(jī)
要停止運(yùn)行中的虛擬機(jī),請(qǐng)使用 stop
命令:
❯ podman machine stop
[core@localhost ~]$ Connection to localhost closed by remote host.
Connection to localhost closed.
Error: exit status 255
我希望這能幫助你開(kāi)始使用 Podman Machine。