名称¶
podman-pod-clone - 创建现有 pod 的副本
简介¶
podman pod clone [选项] pod 名称
描述¶
podman pod clone 创建 pod 的副本,重新创建 pod 及其所有容器的相同配置。用户可以在基础设施容器中修改 pod 的新名称并选择 pod 详细信息。
选项¶
--blkio-weight=weight¶
块 IO 相对权重。weight 是介于 10 和 1000 之间的值。
在 cgroups V1 的无根(rootless)系统上不支持此选项。
--blkio-weight-device=device:weight¶
块 IO 相对设备权重。
--cgroup-parent=path¶
创建 cgroup 的 cgroup 路径。如果路径不是绝对路径,则该路径被视为相对于 init 进程的 cgroup 路径。如果 cgroup 不存在,则会创建它们。
--cpus¶
为 pod 设置 CPU 数量,这将覆盖原始 pod 的 CPU 限制。如果未指定,则使用原始 pod 的 Nano CPU。
--cpuset-cpus=number¶
允许执行的 CPU。可以指定为逗号分隔的列表(例如 0,1),范围(例如 0-3),或两者的任意组合(例如 0-3,7,11-15)。
在某些系统上,非 root 用户可能不允许更改资源限制。更多详情,请参阅 https://github.com/containers/podman/blob/main/troubleshooting.md#26-running-containers-with-resource-limits-fails-with-a-permissions-error
在 cgroups V1 的无根(rootless)系统上不支持此选项。
如果未指定,则使用原始 pod 的 CPUset。
--cpuset-mems=nodes¶
允许执行的内存节点(MEMs)(0-3, 0,1)。仅在 NUMA 系统上有效。
如果系统上有四个内存节点(0-3),使用 --cpuset-mems=0,1,则容器中的进程将只使用前两个内存节点的内存。
在某些系统上,非 root 用户可能不允许更改资源限制。更多详情,请参阅 https://github.com/containers/podman/blob/main/troubleshooting.md#26-running-containers-with-resource-limits-fails-with-a-permissions-error
在 cgroups V1 的无根(rootless)系统上不支持此选项。
--destroy¶
一旦用于模拟配置,则移除我们正在克隆的原始对象。
--device=host-device[:container-device][:permissions]¶
将主机设备添加到。格式为 HOST-DEVICE[:CONTAINER-DEVICE][:PERMISSIONS]
,其中 HOST-DEVICE
是主机上设备节点的路径,CONTAINER-DEVICE
是容器中设备节点的路径,PERMISSIONS
是权限列表,结合了 'r' 代表读取,'w' 代表写入,'m' 代表 mknod(2)。
示例:--device=/dev/sdc:/dev/xvdc:rwm。
注意:如果 host-device 是一个符号链接,则会首先解析它。容器只存储主机设备的主设备号和次设备号。
Podman 可能会加载使用指定设备所需的内核模块。Podman 在必要时加载模块的设备是:/dev/fuse。
在无根模式下,新设备是从主机绑定挂载到容器中,而不是 Podman 在容器空间内创建它。由于绑定挂载在 SELinux 系统上保留其 SELinux 标签,因此容器在访问挂载设备时可能会遇到权限被拒绝的情况。通过以下命令修改 SELinux 设置以允许容器使用所有设备标签:
$ sudo setsebool -P container_use_devices=true
注意:pod 通过存储用户传入的初始配置并在添加到 pod 的每个容器上重新创建设备来实现设备。
--device-read-bps=path:rate¶
限制从设备读取速率(每秒字节数)(例如 --device-read-bps=/dev/sda:1mb)。
在某些系统上,非 root 用户可能不允许更改资源限制。更多详情,请参阅 https://github.com/containers/podman/blob/main/troubleshooting.md#26-running-containers-with-resource-limits-fails-with-a-permissions-error
在 cgroups V1 的无根(rootless)系统上不支持此选项。
--device-write-bps=path:rate¶
限制写入设备速率(每秒字节数)(例如 --device-write-bps=/dev/sda:1mb)。
在某些系统上,非 root 用户可能不允许更改资源限制。更多详情,请参阅 https://github.com/containers/podman/blob/main/troubleshooting.md#26-running-containers-with-resource-limits-fails-with-a-permissions-error
在 cgroups V1 的无根(rootless)系统上不支持此选项。
--gidmap=pod_gid:host_gid:amount¶
用户命名空间的 GID 映射。使用此标志将启用用户命名空间,并在 pod 中运行所有容器。它与 --userns 和 --subgidname 标志冲突。
--gpus=ENTRY¶
要添加到容器的 GPU 设备(“all”表示传递所有 GPU)。目前仅支持 Nvidia 设备。
--help, -h¶
打印使用说明。
--hostname=name¶
在所有容器内设置 pod 的主机名。
给定主机名也使用容器的主 IP 地址添加到 /etc/hosts
文件中(另请参阅 --add-host 选项)。
--infra-command=command¶
用于启动基础设施容器的命令。默认值:“/pause”。
--infra-conmon-pidfile=file¶
将基础设施容器的 conmon 进程的 pid 写入文件。由于 conmon 在与 Podman 不同的进程中运行,因此在使用 systemd 管理 Podman 容器和 pod 时这是必要的。
--infra-name=name¶
用于 pod 基础设施容器的名称。
--label, -l=key=value¶
向容器添加元数据。
--label-file=file¶
读取一个以行分隔的标签文件。
--memory, -m=number[unit]¶
内存限制。unit 可以是 b (字节),k (千字节),m (兆字节),或 g (吉字节)。
允许限制容器可用的内存。如果主机支持交换内存,则 --m 内存设置可以大于物理 RAM。如果指定限制为 0(不使用 --m),则容器的内存不受限制。实际限制可能会向上取整到操作系统页面大小的倍数(该值非常大,数万亿)。
在 cgroups V1 的无根(rootless)系统上不支持此选项。
--memory-swap=number[unit]¶
一个等于内存加交换空间的限制值。unit 可以是 b (字节),k (千字节),m (兆字节),或 g (吉字节)。
必须与 -m (--memory) 标志一起使用。参数值必须大于 -m (--memory) 的值。默认情况下,它被设置为 --memory 值的两倍。
将 number 设置为 -1 以启用无限制的交换空间。
在 cgroups V1 的无根(rootless)系统上不支持此选项。
--name, -n¶
为克隆的 pod 设置自定义名称。如果未指定,默认语法为:<ORIGINAL_NAME>-clone
--pid=pid¶
设置 pod 的 PID 模式。默认是为 pod 创建一个私有 PID 命名空间。需要通过 --share 共享 PID 命名空间。
host: use the host’s PID namespace for the pod
ns: join the specified PID namespace
private: create a new namespace for the pod (default)
--restart=policy¶
容器退出时遵循的重启策略。如果容器通过podman kill或podman stop命令停止,重启策略不会生效。
有效的policy值为
no
:容器退出时不重启never
:no的同义词;容器退出时不重启on-failure[:max_retries]
:当容器以非零退出代码退出时重启,无限重试或直到达到可选的max_retries计数always
:当容器退出时重启,无论状态如何,无限重试unless-stopped
:与always相同
Podman提供了一个systemd单元文件podman-restart.service,它在系统重启后重启容器。
在 systemd 服务中运行容器时,使用 systemd 提供的重启功能。换句话说,不要在容器单元中使用此选项,而是在 [Service]
部分设置 Restart=
systemd 指令。参见 podman-quadlet(7) 和 systemd.service(5)。
pod 中所有容器的默认重启策略。
--security-opt=option¶
安全选项
apparmor=unconfined:关闭容器的apparmor限制
apparmor=alternate-profile:设置容器的apparmor限制配置文件
label=user:USER:设置进程的标签用户
label=role:ROLE:设置进程的标签角色
label=type:TYPE:设置进程的标签进程类型
label=level:LEVEL:设置进程的标签级别
label=filetype:TYPE:设置文件的标签文件类型
label=disable:关闭容器的标签分离
注意:可以通过在 containers.conf(/etc/containers/containers.conf
或 $HOME/.config/containers/containers.conf
)文件中设置 label=false 来禁用所有容器的标签。
label=nested:允许容器内部的 SELinux 修改。只要 SELinux 策略允许,容器就可以修改文件和进程上的 SELinux 标签。如果没有 nested,容器将 SELinux 视为已禁用,即使它在主机上已启用。容器被阻止设置任何标签。
mask=/path/1:/path/2:用冒号分隔的掩码路径。容器内无法访问掩码路径。
no-new-privileges:禁止容器进程通过
execve(2)
系统调用获取额外的特权(例如,通过 setuid 或 setgid 位,或通过文件功能)。依赖于在其可执行文件上设置的 setuid/setgid 位来更改用户 ID 或组 ID 的程序将不再能够这样做,并且添加到可执行文件(例如,通过setcap
)的任何文件功能都不会添加到允许的功能集中。有关更多详细信息,请参阅:https://docs.linuxkernel.org.cn/userspace-api/no_new_privs.html。seccomp=unconfined:关闭容器的seccomp限制。
seccomp=profile.json:用作 seccomp 过滤器的 JSON 文件。请注意,
io.podman.annotations.seccomp
注释已设置为指定值,如podman inspect
所示。proc-opts=OPTIONS:用于/proc挂载的选项的逗号分隔列表。有关可能的挂载选项的更多详细信息在proc(5)手册页中指定。
unmask=ALL 或 /path/1:/path/2,或 shell 扩展路径 (/proc/*):用冒号分隔的取消屏蔽路径。如果设置为 ALL,则取消屏蔽默认被屏蔽或设置为只读的所有路径。默认被屏蔽的路径是 /proc/acpi, /proc/kcore, /proc/keys, /proc/latency_stats, /proc/sched_debug, /proc/scsi, /proc/timer_list, /proc/timer_stats, /sys/firmware, 和 /sys/fs/selinux, /sys/devices/virtual/powercap。默认只读的路径是 /proc/asound, /proc/bus, /proc/fs, /proc/irq, /proc/sys, /proc/sysrq-trigger, /sys/fs/cgroup。
注意:通过在containers.conf(5)文件中设置label=false可以禁用所有容器的标签。
--shm-size=number[unit]¶
/dev/shm 的大小。单位可以是 b(字节)、k(千字节)、m(兆字节)或 g(千兆字节)。如果省略单位,系统将使用字节。如果省略大小,默认值为 64m。当 size 为 0 时,用于 IPC 的内存量没有限制。此选项与 --ipc=host 冲突。
--shm-size-systemd=number[unit]¶
systemd 特定 tmpfs 挂载的大小,例如 /run、/run/lock、/var/log/journal 和 /tmp。单位可以是 b(字节)、k(千字节)、m(兆字节)或 g(千兆字节)。如果省略单位,系统将使用字节。如果省略大小,默认值为 64m。当 size 为 0 时,使用量限制为主机可用内存的 50%。
--start¶
设置为 true 时,此标志在克隆过程完成后启动新创建的 pod。pod 内的所有容器都将启动。
--subgidname=name¶
使用 /etc/subgid 文件中名称为 name 的映射在新用户命名空间中运行容器。如果以无根用户身份运行,则用户需要具有使用映射的权限。参见 subgid(5)。此标志与 --userns 和 --gidmap 冲突。
--subuidname=name¶
使用 /etc/subuid 文件中名称为 name 的映射在新用户命名空间中运行容器。如果以无根用户身份运行,则用户需要具有使用映射的权限。参见 subuid(5)。此标志与 --userns 和 --uidmap 冲突。
--sysctl=name=value¶
配置命名空间的内核参数。
对于IPC命名空间,允许以下sysctls
kernel.msgmax
kernel.msgmnb
kernel.msgmni
kernel.sem
kernel.shmall
kernel.shmmax
kernel.shmmni
kernel.shm_rmid_forced
以fs.mqueue.*开头的Sysctls
注意:不允许上述sysctls。
对于网络命名空间,只允许以net.*开头的sysctls。
注意:不允许上述sysctls。
--uidmap=container_uid:from_uid:amount¶
使用提供的映射在新用户命名空间中运行 pod 中的所有容器。此选项与 --userns 和 --subuidname 选项冲突。此选项提供了一种将主机 UID 映射到容器 UID 的方法。它可以多次传递以映射不同的范围。
--userns=mode¶
设置 Pod 中所有容器的用户命名空间模式。它默认为 PODMAN_USERNS
环境变量。空值(“”)表示用户命名空间已禁用。
无根用户 --userns=Key 映射
键 |
主机用户 |
容器用户 |
---|---|---|
“” |
$UID |
0 (默认用户帐户映射到容器中的 root 用户。) |
主机 |
$UID |
0 (默认用户帐户映射到容器中的 root 用户。) |
keep-id |
$UID |
$UID (将用户帐户映射到容器内的相同 UID。) |
auto |
$UID |
nil(主机用户UID未映射到容器中。) |
nomap |
$UID |
nil(主机用户UID未映射到容器中。) |
有效的 mode 值为:
auto[:选项,...]:自动创建命名空间。可以为
auto
指定这些选项gidmapping=容器_GID:主机_GID:大小 强制在用户命名空间中存在 GID 映射。
size=SIZE:为自动用户命名空间指定显式大小。例如
--userns=auto:size=8192
。如果未指定size
,则auto
估算用户命名空间的大小。uidmapping=容器_UID:主机_UID:大小 强制在用户命名空间中存在 UID 映射。
host:在调用者的用户命名空间中运行。在容器中运行的进程在主机上具有与调用用户启动的任何其他进程相同的权限(默认)。
keep-id:创建一个用户命名空间,其中当前无根用户的 UID:GID 映射到容器中的相同值。此选项不允许由 root 用户创建的容器使用。
nomap:创建一个用户命名空间,其中当前无根用户的 UID:GID 不映射到容器中。此选项不允许由 root 用户创建的容器使用。
--uts=mode¶
设置 pod 的 UTS 命名空间模式。支持以下值:
host:在 pod 内使用主机的 UTS 命名空间。
private:为 pod 创建新命名空间(默认)。
ns:[path]:在给定现有 UTS 命名空间中运行 pod。
--volume, -v=[[SOURCE-VOLUME|HOST-DIR:]CONTAINER-DIR[:OPTIONS]]¶
创建绑定挂载。如果指定 -v /HOST-DIR:/CONTAINER-DIR
,Podman 将主机中的 /HOST-DIR
绑定挂载到 Podman 容器中的 /CONTAINER-DIR
。类似地,-v SOURCE-VOLUME:/CONTAINER-DIR
将主机中命名的卷挂载到容器中。如果不存在此类命名的卷,Podman 将创建一个。如果没有给定源,则该卷将作为匿名命名卷创建,其名称随机生成,并在通过 --rm
标志或 podman rm --volumes
命令移除时删除。
(请注意,当使用远程客户端时,包括 Mac 和 Windows(不包括 WSL2)机器,卷是从远程服务器挂载的,不一定是客户端机器。)
OPTIONS 是逗号分隔的列表,可以是一个或多个以下选项:
rw|ro
z|Z
[O]
[U]
[no]copy
[no]dev
[no]exec
[no]suid
[r]bind
[r]shared|[r]slave|[r]private[r]unbindable [1]
idmap[=options]
CONTAINER-DIR
必须是绝对路径,例如 /src/docs
。卷将挂载到容器中的此目录。
如果指定了卷源,则它必须是主机上的路径或命名卷的名称。主机路径可以是绝对路径或相对路径;相对路径相对于 Podman 运行的目录解析。如果源不存在,Podman 将返回错误。用户必须预先创建源文件或目录。
任何不以 .
或 /
开头的源都被视为命名卷的名称。如果不存在具有该名称的卷,则会创建它。使用名称创建的卷不是匿名的,它们不会被 --rm
选项和 podman rm --volumes
命令删除。
指定多个 -v 选项可将一个或多个卷挂载到 。
写保护卷挂载
添加 :ro 或 :rw 选项,分别以只读或读写模式挂载卷。默认情况下,卷以读写方式挂载。请参阅示例。
Chowning Volume Mounts(更改卷挂载的属主)
当命名卷首次挂载到容器时,Podman 在容器初始化期间自动调整卷挂载点的所有权。此 chown 操作在以下条件下发生:
卷尚未被使用(
NeedsChown
设置为 true)卷为空或尚未复制
卷不由外部卷驱动程序管理
卷驱动程序不是“image”
对于带有 ID 映射挂载(使用 idmap
选项)的卷,所有权更改会考虑容器的用户命名空间映射,但 ID 映射卷会保留正确的 UID/GID 映射。对于没有 ID 映射的卷,挂载点会更改所有者以匹配容器的进程用户和组,如果启用了用户命名空间重新映射,则映射到主机用户命名空间。
如果在新的用户命名空间中创建,容器中的 UID 和 GID 可能对应主机上的另一个 UID 和 GID。
:U
后缀告诉 Podman 根据容器内部的 UID 和 GID 使用正确的主机 UID 和 GID,以递归地更改源卷的所有者和组。更改所有者会遍历卷下的文件系统并更改每个文件的 UID/GID。如果卷有数千个 inode,此过程将花费很长时间,从而延迟启动。
警告:请谨慎使用,因为这会修改主机文件系统。
Labeling Volume Mounts(为卷挂载添加标签)
像 SELinux 这样的标签系统要求将正确的标签放置在挂载到容器中的卷内容上。如果没有标签,安全系统可能会阻止容器内运行的进程使用内容。默认情况下,Podman 不会更改操作系统设置的标签。
要更改上下文中的标签,请在卷挂载中添加两个后缀之一 :z 或 :Z。这些后缀告诉 Podman 重新标记共享卷上的文件对象。z 选项告诉 Podman 两个或更多实体共享卷内容。因此,Podman 使用共享内容标签标记内容。共享卷标签允许所有容器读/写内容。Z 选项告诉 Podman 使用私有未共享标签标记内容。只有当前容器可以使用私有卷。
注意:pod
内的所有容器共享相同的 SELinux 标签。这意味着该 pod 内的所有容器都可以读/写使用 :Z
在任何一个容器上创建的共享到容器中的卷。重新标记会遍历卷下的文件系统并更改每个文件的标签;如果卷有数千个 inode,此过程将花费很长时间,从而延迟启动。如果卷以前使用 z
选项重新标记过,Podman 会进行优化以不再重新标记第二次。如果文件移动到卷中,则可以使用 chcon -Rt container_file_t PATH
命令手动更改标签。
注意:不要重新标记系统文件和目录。重新标记系统内容可能会导致机器上的其他受限服务失败。对于这些类型的容器,我们建议禁用 SELinux 分离。选项 --security-opt label=disable 禁用容器的 SELinux 分离。例如,如果用户想将其整个主目录挂载到容器中,他们需要禁用 SELinux 分离。
$ podman --security-opt label=disable -v $HOME:/home/user fedora touch /home/user/file
Overlay Volume Mounts(覆盖卷挂载)
:O
标志告诉 Podman 使用 overlay file system
将主机中的目录挂载为临时存储。进程可以修改挂载点内的内容,这些内容存储在容器存储中的一个单独目录中。在 overlay 术语中,源目录是下层,容器存储目录是上层。挂载点的修改在执行完毕后被销毁,类似于 tmpfs 挂载点被卸载。
对于高级用户,overlay 选项还支持自定义非易失性 upperdir 和 workdir 用于 overlay 挂载。自定义 upperdir 和 workdir 可以由用户自行完全管理,Podman 在生命周期完成后不会将其删除。示例 :O,upperdir=/some/upper,workdir=/some/work
容器的后续执行会看到原始源目录内容,之前执行的任何更改将不再存在。
overlay 挂载的一个用例是将主机上的包缓存共享到容器中以加快构建速度。
注意:O
标志与上面列出的其他选项冲突。
挂载到容器中的内容用私有标签标记。在 SELinux 系统上,源目录中的标签必须可被容器标签读取。通常容器可以读/执行 container_share_t
,并且可以读/写 container_file_t
。如果无法更改源卷上的标签,则必须禁用容器的 SELinux 分离才能使容器正常工作。
请勿通过 overlay 挂载修改挂载到 的源目录,这可能会导致意外故障。仅在容器运行完成后修改目录。
挂载传播
默认情况下,绑定挂载的卷是 private
。这意味着容器内部进行的任何挂载在主机上都不可见,反之亦然。可以通过指定卷挂载传播属性来更改此行为。当卷是 shared
时,在该卷内部进行的挂载在主机上可见,反之亦然。将卷设置为 slave[1] 仅启用单向挂载传播:主机上在该卷下进行的挂载在容器内部可见,但反之则不然。
要控制卷的挂载传播属性,可以使用 [r]shared、[r]slave、[r]private 或 [r]unbindable 传播标志。传播属性只能为绑定挂载的卷指定,不能为内部卷或命名卷指定。要使挂载传播工作,源挂载点(源目录挂载到的挂载点)必须具有正确的传播属性。对于共享卷,源挂载点必须是共享的。对于从属卷,源挂载点必须是共享或从属的。[1]
要将卷及其所有子挂载递归挂载到 中,请使用 rbind 选项。默认情况下使用 bind 选项,并且源目录的子挂载不会挂载到 中。
使用 copy 选项挂载卷会告诉 podman 将基础目标目录中的内容复制到新创建的内部卷中。copy 只在卷的初始创建时发生。当卷随后在不同的容器上使用时,内容不会被复制。copy 选项在绑定挂载上被忽略且无效。
使用 nosuid 选项挂载卷意味着卷上的 SUID 可执行文件不能被应用程序用于更改其权限。默认情况下,卷以 nosuid 挂载。
使用 noexec 选项挂载卷意味着卷上的任何可执行文件都不能在 中执行。
使用 nodev 选项挂载卷意味着卷上的任何设备都不能被 中的进程使用。默认情况下,卷以 nodev 挂载。
如果 HOST-DIR 是挂载点,则 dev、suid 和 exec 选项会被内核忽略。
使用 df HOST-DIR 找出源挂载点,然后使用 findmnt -o TARGET,PROPAGATION source-mount-dir 找出源挂载点的传播属性。如果 findmnt(1) 工具不可用,则可以查看 /proc/self/mountinfo 中源挂载点的挂载条目。查看“可选字段”,看看是否指定了任何传播属性。在那里,shared:N 表示挂载是共享的,master:N 表示挂载是从属的,如果没有,则挂载是私有的。[1]
要更改挂载点的传播属性,请使用 mount(8) 命令。例如,如果要绑定挂载源目录 /foo,可以执行 mount --bind /foo /foo 和 mount --make-private --make-shared /foo。这将把 /foo 转换为共享挂载点。或者,可以直接更改源挂载点的传播属性。假设 / 是 /foo 的源挂载点,则使用 mount --make-shared / 将 / 转换为共享挂载点。
注意:如果用户仅通过组拥有访问权限,则从无根内部访问卷会失败。
ID映射挂载
如果指定了 idmap
,则创建到容器中目标用户命名空间的 idmap 挂载。idmap 选项支持自定义映射,该映射可以与容器使用的用户命名空间不同。映射可以在 idmap 选项之后指定,例如:idmap=uids=0-1-10#10-11-10;gids=0-100-10
。对于每个三元组,第一个值是映射到主机上第二个值的后端文件系统 ID 的起始值。此映射的长度由第三个值给出。多个范围用 # 分隔。
--volumes-from=容器[:选项]¶
从指定的容器挂载卷。用于在容器之间共享卷。选项 是一个逗号分隔的列表,包含以下可用元素
rw|ro
z
将已挂载的卷从源容器挂载到另一个容器。CONTAINER 可以是名称或 ID。要共享卷,请在运行目标容器时使用 --volumes-from 选项。即使源容器未运行,也可以共享卷。
默认情况下,Podman 以与源容器中挂载模式相同的方式(读写或只读)挂载卷。这可以通过添加 ro
或 rw
选项来更改。
像 SELinux 这样的标签系统要求将正确的标签放置在挂载到容器中的卷内容上。如果没有标签,安全系统可能会阻止容器内运行的进程使用内容。默认情况下,Podman 不会更改操作系统设置的标签。
要更改上下文中的标签,请在卷挂载中添加 z
。此后缀告诉 Podman 重新标记共享卷上的文件对象。z
选项告诉 Podman 两个实体共享卷内容。因此,Podman 使用共享内容标签标记内容。共享卷标签允许所有容器读/写内容。
如果源容器中的卷位置与目标容器上存在的数据重叠,则该卷会隐藏目标容器上的数据。
示例¶
将指定的 pod 克隆到新 pod。
# podman pod clone pod-name
6b2c73ff8a1982828c9ae2092954bcd59836a131960f7e05221af9df5939c584
将指定的 pod 克隆到具有新名称的新 pod。
# podman pod clone pod-name --name=cloned-pod
d0cf1f782e2ed67e8c0050ff92df865a039186237a4df24d7acba5b1fa8cc6e7
6b2c73ff8a1982828c9ae2092954bcd59836a131960f7e05221af9df5939c584
克隆并移除指定的 pod 到新 pod,并修改其 CPU。
# podman pod clone --destroy --cpus=5 d0cf1
6b2c73ff8a1982828c9ae2092954bcd59836a131960f7e05221af9df5939c584
将指定的 pod 克隆到新命名的 pod。
# podman pod clone 2d4d4fca7219b4437e0d74fcdc272c4f031426a6eacd207372691207079551de new_name
5a9b7851013d326aa4ac4565726765901b3ecc01fcbc0f237bc7fd95588a24f9
克隆具有内存限制的 pod。
# podman pod clone --memory=1g --memory-swap=2g pod-name
6b2c73ff8a1982828c9ae2092954bcd59836a131960f7e05221af9df5939c584
克隆具有 CPU 限制的 pod。
# podman pod clone --cpus=2.5 --cpu-shares=1024 pod-name
6b2c73ff8a1982828c9ae2092954bcd59836a131960f7e05221af9df5939c584
另请参阅¶
历史¶
2022 年 5 月,最初由 Charlie Doern cdoern@redhat.com 撰写
脚注¶
1:Podman 项目致力于包容性,这是开源的核心价值。此处使用的 master
和 slave
挂载传播术语存在问题且具有分裂性,需要更改。然而,这些术语目前在 Linux 内核中使用,并且目前必须按原样使用。当内核维护者纠正此用法时,Podman 将立即效仿。