为什么我无法使用podman update container_id --restart=always ?

我猜你在阅读本文之前已经尝试过docker(podman) update了,但是很遗憾Podman update命令主要用于配置容器可用资源和,比如限制容器使用的内存数量。
以下为podman update的可用子命令: 随着podman更新,他们可能会被更改,请参考官方文档podman-update - Update the configuration of a given container

选项描述
--blkio-weight设置块设备 I/O 的权重。权重决定了在多个容器之间进行块 I/O 带宽分配时的优先级。
--blkio-weight-device为特定的块设备设置 I/O 权重。格式为“设备路径:权重”。
--cpu-period设置 CPU 周期的时间长度,单位为微秒。用于与 --cpu-quota 一起限制 CPU 的使用。
--cpu-quota设置 CPU 配额,即容器在一个 CPU 周期内可以使用的微秒数。
--cpu-rt-period设置实时 CPU 调度的周期长度,单位为微秒。用于限制实时任务的 CPU 使用时间。
--cpu-rt-runtime设置实时 CPU 调度的运行时间长度,单位为微秒。
--cpu-shares设置 CPU 权重,用于在多个容器之间分配 CPU 时间。
--cpus.container设置容器可以使用的 CPU 核心数。
--cpuset-cpus设置容器可以使用的 CPU 集合。
--cpuset-mems设置容器可以使用的内存节点集合。
--device-read-bps为特定的设备设置读取带宽限制,单位为字节/秒。格式为“设备路径:带宽”。
--device-read-iops为特定的设备设置读取 I/O 操作限制,单位为操作/秒。格式为“设备路径:I/O 操作数”。
--device-write-bps为特定的设备设置写入带宽限制,单位为字节/秒。格式为“设备路径:带宽”。
--device-write-iops为特定的设备设置写入 I/O 操作限制,单位为操作/秒。格式为“设备路径:I/O 操作数”。
--memory设置容器可以使用的内存大小。
--memory-reservation设置容器内存预留大小,确保容器启动时获得的最小内存量。
--memory-swap设置容器可以使用的总内存(包括内存和交换分区)大小。
--memory-swappiness设置容器的交换倾向性,取值范围为 0 到 100。较高的值意味着容器更倾向于使用交换分区。
--pids-limit设置容器可以创建的进程数限制。

使用Podman更新容器参数的正确做法

假设你不想删除并在重新创建该容器时丢失之前使用的参数
以正在运行的容器natfrp-service为例:

查看容器启动参数

(我使用SakuraFrp官方的脚本部署,但是我现在需要更改--restart=on-failure:5 为:--restart=always 并且我不想重新修改一些其他固定好的参数)
podman inspect natfrp-service | grep -A 15 "CreateCommand"
这里的15取决于你的容器启动参数有多少项,一般来说一项为一行,15即获取字符串“CreateCommand”后的15行。如果你发现过多导致没有完全输出,可以适当增加该值。

停止容器

sudo podman stop natfrp-service

删除容器

sudo podman rm natfrp-service

重新运行容器并添加参数

podman run --name=natfrp-service --restart=always other... natfrp.com/launcher:latest

标签: none

添加新评论