怎么使用 Podman 创建和管理容器卷

2023-03-2718:08:38 发表评论
腾讯云正在大促:点击直达 阿里云超级红包:点击领取
免费/便宜/高性价比服务器汇总入口(已更新):点击这里了解

怎么使用 Podman 创建和管理容器卷

对于为容器部署从基于 Ubuntu 的 Linux 发行版切换到基于 RHEL 的 Linux 发行版的所有人来说,您可能已经意识到 Docker 并不是您的新平台的最简单或最佳选择。幸运的是,Podman 默认安装在大多数基于 RHEL 的发行版上,因此您可以直接跳到使用容器。

但是你为什么要学习一个全新的工具呢?幸运的是,Podman 几乎是 Docker 的直接 1:1 替代品,所以如果你知道一个,你可以使用另一个。我已经帮助您迈出了使用 Podman 的第一步,这次我们将通过创建和管理卷来扩展它。

为什么数量很重要?简单——持久存储。例如,您部署一个使用数据的容器。一切都很好,直到灾难发生。容器失败并随之删除您的数据。你不想要那个。

为了避免这样的灾难,您将使用卷部署这些容器。通过这样做,数据被保存到持久状态,因此如果容器出现故障,数据仍然是安全的,并且可以被不同的容器使用。相信我,您希望将卷用于任何依赖数据的容器。如果您或您的公司依赖于该容器使用的数据,则尤其如此。

话虽如此,您如何在 Podman 中处理卷?让我们来了解一下。

使用 Podman 创建和管理卷需要什么

为此,您唯一需要的是安装了 Podman 的 Linux 发行版。这可能是 RHEL、Rocky Linux、AlmaLinux 或 CentOS。而已。

如何使用 Podman 创建卷

我们需要做的第一件事是创建一个卷。登录到您的 Linux 发行版并打开一个终端窗口。假设我们要为 NGINX 容器创建一个卷。使用以下命令创建该卷:

podman volume create nginx-volume

输出应该很简单:

nginx-volume

您可以使用以下命令验证卷创建:

podman volume ls

上面的命令应该打印出如下内容:

DRIVER      VOLUME NAME

local       nginx-volume

要获取更多信息,您可以发出以下命令:

podman volume inspect nginx-volume

上面的命令将打印出如下内容:

[

     {

          "Name": "nginx-volume",

          "Driver": "local",

          "Mountpoint": "/home/jack/.local/share/containers/storage/volumes/nginx-volume/_data",

          "CreatedAt": "2023-09-26T12:52:36.125241042-04:00",

          "Labels": {},

          "Scope": "local",

          "Options": {},

          "MountCount": 0,

          "NeedsCopyUp": true,

          "NeedsChown": true

     }

]

如何在 Podman 中使用卷

现在我们已经创建了卷,让我们将它与 NGINX 容器部署一起使用。在我们开始之前,让我们玩得开心,为 NGINX Web 服务器创建一个新的 index.html 文件。使用以下命令切换到卷目录:

cd /home/$USER/.local/share/containers/storage/volumes/nginx-volume/_data

现在,让我们使用以下命令创建 index.html:

nano index.html

在该文件中,粘贴以下内容:

<h2>Hello, a5idc!</h2>

保存并关闭文件。

使用以下命令部署附加到卷的容器:

podman run -d -p 8080:80 -v nginx-volume:/usr/share/nginx/html --name nginx-volumetest nginx:latest

我们使用上述命令所做的就是将我们的 nginx-volume 映射到 NGINX 容器内的 /usr/share/nginx/html 目录。现在,如果我们将 Web 浏览器指向http://IP:8080,其中 IP 是托管服务器的 IP 地址,我们应该会看到我们的“Hello, a5idc!” 信息。

如果您看到错误,则需要使用以下两个命令打开防火墙:

sudo firewall-cmd --permanent --add-port 8080/tcp

sudo firewall-cmd --reload

现在,您重新加载网页,您可以看到网页提示信息“Hello, a5idc!” 。

现在,如果您的容器发生故障,卷中的数据将保持不变。如果您需要删除卷,只需发出以下命令:

podman volume rm nginx-volume

这就是使用 Podman 管理卷的全部内容。对于希望为其容器部署保留持久数据的任何人来说,这是一个至关重要的功能。

注意:现在服务器报价出炉,价格很低

1、腾讯云:限时 2860 元无门槛代金券:点击一键领取。

2、腾讯云最新优惠活动,3年/5年服务器限时抢购:点击前往。

3、阿里云:限时 2000 元无门槛代金券:点击一键领取。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: