记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。
 
0

如何使用Podman部署pod


Podman是CentOS 8和RHEL 8的新容器部署引擎。尽管它的目标与Docker引擎相同(部署和管理容器),但它的实现方式非常不同——至少在底层是这样。从用户的角度来看,它的工作方式与Docker非常相似。

您可以使用与Docker引擎相同的方式来获取映像和部署容器。可以将pod看作是一种将相关容器分组在一起的方法,以便更容易地进行管理(例如,Wordpress容器及其所需的MySQL数据库容器是通过单个pod进行管理的)。由于Podman将每个容器部署为自己的流程,因此这是创建互连容器的一种非常有效和简单的方法。

一、准备工作

1、已安装Podman的CentOS 8系统服务器运行实例

2、具有sudo特权的用户

3、要了解如何在CentOS 8上安装Podman,请参阅:如何在CentOS 8上安装Podman容器引擎。

二、如何创建一个新的pod

首先要做的是创建一个新的容器。创建新容器的命令是:

podman pod create

当命令返回新容器的ID时,您将知道容器是否已成功创建。

这将创建一个非常基本的pod。你可以使用一些选项创建一个pod,如:

--cgroup-parent value-设置pod的父cgroup

--infra-创建一个与容器关联的基础容器,以共享命名空间

--infra-command value-启动pod时将在infra容器上运行的命令(例如“ / pause”)

--infra-image value-与容器关联的基础容器图像

--label value-设置容器的元数据

--label-file value-设置由行分隔的标签文件中的容器的元数据

--name value-为新容器分配名称

--pod-id-file value-将Pod ID写入文件

--publish value-将容器的端口(或一系列端口)发布到主机

--share value-要与之共享的内核名称空间的逗号分隔列表

用命令列出新创建的pod:

podman pod list

pod的列表将包含为该pod创建的随机名称。为了将容器添加到这个pod中,您需要记下这个名称。

您还将注意到新的Pod包含一个基础容器。这个新容器是为pod随机创建的。你可以列出该容器与命令:

podman ps -a --pod

该命令的输出将列出没有sudo特权就已部署的所有容器(因此它将在我们的新pod中包含随机容器)。

如何将容器添加到pod

接下来,我们将一个容器添加到新部署的容器中。注意:您需要一个随机分配的名称(或使用--name选项指定的窗格名称)。在我的示例中,广告连播名称为silly_bhabha。让我们使用官方的Ubuntu映像将容器部署到新的Pod。该容器将运行top命令,尽管我们看不到该命令的输出。

要将容器部署到容器,命令将是:

podman run -dt --pod silly_bhabha ubuntu top

现在,使用以下命令,我们的pod将具有多个容器:

podman pod ps

在列表中,您将看到三个容器。

要查看各个容器,请发出命令:

podman ps -a --pod

在详细列表中,您将看到每个容器正在运行的命令。

也可以创建一个新的pod并使用一个命令将容器部署到其中。假设您要部署一个nginx容器,将外部端口3100暴露于内部端口80,并部署到名为trtest的新容器中。该命令将是:

podman run -dt --pod new:trtest -p 31000:80 nginx:1.12



输出将列出新创建的容器ID。您可以像以前一样将更多容器添加到此容器中。使用以下命令检查以确保新创建的容器已准备就绪:

podman pod list

我们已经创建了新的trtest吊舱,它不仅包含随机容器。

要停止容器和所有关联的容器,必须首先找到其ID。为此,发出命令:

podman ps -p

该ID将列在POD列下。

使用以下命令停止pod:

podman stop ID

其中,ID是pod ID的前四个字符。

要重新启动容器和所有关联的容器,请发出以下命令:

podman start ID

其中,ID是pod ID的前四个字符。

这就是用podman部署pod的要点。当然,关于使用Podman管理Podman还有很多要学习的知识,这里只是带您入门。



转载请标明出处【如何使用Podman部署pod】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论