podman.命令集锦

Posted alpine-enterprise

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了podman.命令集锦相关的知识,希望对你有一定的参考价值。

Podman(Pod Manager)是一个功能齐全的容器引擎,它是一个简单的无守护工具。 Podman提供了一个类似Docker-CLI的命令行,可以简化从其他容器引擎的转换,并允许管理pod,容器和图像。 简单地说:alias docker = podman。 大多数Podman命令可以作为普通用户运行,而无需额外的权限。
Podman在内部使用Buildah(1)来创建容器图像。 两个工具共享图像(而不是容器)存储,因此每个工具可以使用或操纵由另一个创建的图像(但不能操纵容器)。

 GLOBAL OPTIONS

-help,-h
打印使用说明
--cgroup管理
CGroup管理用于容器cgroups。支持的值为cgroupfs或systemd(默认值)。设置此标志可能会导致某些命令在其他CGroup管理器类型创建的容器上调用时中断。
--cpu-profile
写入cpu性能结果的文件路径
--hooks-DIR =路径
路径中的每个* .json文件都为Podman容器配置一个钩子。有关JSON文件语法和钩子注入语义的更多详细信息,请参阅oci-hooks(5)。 Podman和libpod目前同时支持1.0.0和0.1.0钩子模式,不推荐使用0.1.0模式。此选项可以设置多次;来自后面选项的路径具有更高的优先级(oci-hooks(5)讨论目录优先级)。对于注释条件,libpod使用在生成的OCI配置中设置的任何注释。对于绑定装载条件,仅考虑通过--volume由调用方显式请求的装入。默认情况下绑定libpod插入的挂载(例如/ dev / shm)不被考虑。如果未为root调用者设置--hooks-dir,则Podman和libpod将按优先级递增的顺序默认为/usr/share/containers/oci/hooks.d和/etc/containers/oci/hooks.d。不推荐使用这些默认值,调用者应该迁移到显式设置--hooks-dir。Podman和libpod目前支持额外的precreate状态,该状态在运行时的创建操作之前调用。与在标准输入上接收容器状态的其他阶段不同,预创建挂钩在其标准输入上接收建议的运行时配置。他们可能会根据自己的需要更改配置,并将更改后的表单写入其标准输出。
警告:precreate hook允许执行强大的操作,例如向运行时配置添加其他安装。这种力量也很容易打破局面。在报告libpod错误之前,请尝试在禁用precreate挂钩的情况下运行容器,以查看问题是否是由于其中一个挂钩引起的。
--log-level
记录指定级别以上的消息:debug,info,warn,error(默认),致命或恐慌(fatal or panic)
--namespace
设置libpod命名空间。命名空间用于在libpod的状态下分隔容器和pod的组。设置名称空间后,创建的容器和窗格将加入给定的名称空间,并且只有给定名称空间中的容器和窗格对Podman可见。
--root =value
存储根目录,其中存储数据(包括图像)(对于UID 0,默认为“/ var / lib / containers / storage”,对于其他用户,为“$ HOME / .local / share / containers / storage”)。默认根目录在/etc/containers/storage.conf中配置。
--runroot =value
存储所有状态信息的存储状态目录(对于UID 0,默认为“/ var / run / containers / storage”,对于其他用户,为“/ var / run / user / $ UID / run”)。默认状态dir在/etc/containers/storage.conf中配置。
--runtime =value
libpod.conf中指定的OCI运行时的名称或用于运行容器的OCI兼容二进制文件的绝对路径。
--network-cmd-path = path用于设置网络的命令二进制文件的路径。它目前仅用于设置slirp4netns网络。如果使用“”,则使用$ PATH环境变量查找二进制文件。
--storage-driver=value
存储驱动程序UID 0的默认存储驱动程序在/etc/containers/storage.conf(无根模式下的$ HOME / .config / containers / storage.conf)中配置,当fuse-overlayfs不可用时,非root用户的vfs是vfs 。 STORAGE_DRIVER环境变量会覆盖默认值。 --storage-driver指定的驱动程序会覆盖所有驱动程序。
覆盖此选项将导致忽略/etc/containers/storage.conf中的storage-opt设置。用户必须通过--storage-opt标志指定其他选项。
--storage-OPT =value
存储驱动程序选项,默认存储驱动程序选项在/etc/containers/storage.conf中配置($ root / .config / containers / storage.conf以无根模式)。 STORAGE_OPTS环境变量会覆盖默认值。 --storage-opt指定的选项会覆盖所有选项。
--syslog
将日志记录信息输出到syslog以及控制台
--version,-v
打印版本
Exit Status
CommandDescription
podman-attach(1)Attach to a running container.
podman-build(1)Build a container image using a Dockerfile.
podman-commit(1)Create new image based on the changed container.
podman-container(1)Manage containers.
podman-cp(1)Copy files/folders between a container and the local filesystem.
podman-create(1)Create a new container.
podman-diff(1)Inspect changes on a container or image‘s filesystem.
podman-events(1)Monitor Podman events
podman-exec(1)Execute a command in a running container.
podman-export(1)Export a container‘s filesystem contents as a tar archive.
podman-generate(1)Generate structured data based for a containers and pods.
podman-healthcheck(1)Manage healthchecks for containers
podman-history(1)Show the history of an image.
podman-image(1)Manage images.
podman-images(1)List images in local storage.
podman-import(1)Import a tarball and save it as a filesystem image.
podman-info(1)Displays Podman related system information.
podman-init(1)Initialize a container
podman-inspect(1)Display a container or image‘s configuration.
podman-kill(1)Kill the main process in one or more containers.
podman-load(1)Load an image from a container image archive into container storage.
podman-login(1)Login to a container registry.
podman-logout(1)Logout of a container registry.
podman-logs(1)Display the logs of a container.
podman-mount(1)Mount a working container‘s root filesystem.
podman-pause(1)Pause one or more containers.
podman-play(1)Play pods and containers based on a structured input file.
podman-pod(1)Management tool for groups of containers, called pods.
podman-port(1)List port mappings for a container.
podman-ps(1)Prints out information about containers.
podman-pull(1)Pull an image from a registry.
podman-push(1)Push an image from local storage to elsewhere.
podman-restart(1)Restart one or more containers.
podman-rm(1)Remove one or more containers.
podman-rmi(1)Removes one or more locally stored images.
podman-run(1)Run a command in a new container.
podman-save(1)Save an image to a container archive.
podman-search(1)Search a registry for an image.
podman-start(1)Start one or more containers.
podman-stats(1)Display a live stream of one or more container‘s resource usage statistics.
podman-stop(1)Stop one or more running containers.
podman-system(1)Manage podman.
podman-tag(1)Add an additional name to a local image.
podman-top(1)Display the running processes of a container.
podman-umount(1)Unmount a working container‘s root filesystem.
podman-unpause(1)Unpause one or more containers.
podman-unshare(1)Run a command inside of a modified user namespace.
podman-version(1)Runs the varlink backend interface.
podman-varlink(1)Display the Podman version information.
podman-volume(1)Manage Volumes.
podman-wait(1)Wait on one or more containers to stop and print their exit co
FILES
libpod.conf (/usr/share/containers/libpod.conf)
libpod.conf是使用libpod管理容器的所有工具的配置文件,以root用户身份运行。 管理员可以通过创建`/ etc / containers / libpod.conf`来覆盖默认文件。 当Podman以无根模式运行时,会创建文件`$ HOME / .config / containers / libpod.conf`并替换系统配置文件中的某些字段。
如果未找到libpod.conf文件,Podman将使用内置默认值。
mounts.conf (/usr/share/containers/mounts.conf)
mounts.conf文件指定在执行`podman run`或`podman start`命令时自动挂载在容器内的卷装入目录。 管理员可以通过创建`/ etc / containers / mounts.conf`来覆盖默认文件。

 当Podman以无根模式运行时,文件$ HOME / .config / containers / mounts.conf将覆盖默认值(如果存在)。 有关更多详细信息,请参阅containers mounts.conf(5)。

policy.json(/etc/containers/policy.json)
签名验证策略文件用于指定策略,例如, 可信密钥,在决定是否接受图像或该图像的单个签名时适用,有效。
registries.conf(/etc/containers/registries.conf)
registries.conf是配置文件,它指定在完成不包含注册表或域部分的映像名称时应查询哪些容器注册表。
Podman的非root用户可以创建要使用的`$ HOME / .config / containers / registries.conf`文件而不是系统默认值。
storage.conf(/etc/containers/storage.conf)
storage.conf是使用容器/存储的所有工具的存储配置文件
存储配置文件为使用共享容器存储的工具指定所有可用容器存储选项。
当Podman以无根模式运行时,使用文件`$ HOME / .config / containers / storage.conf`而不是系统默认值。
无根模式(Rootless mode
Podman也可以用作非root用户。当podman以无根模式运行时,将自动为用户创建用户命名空间,在/ etc / subuid和/ etc / subgid中定义。
非root用户创建的容器对其他用户不可见,并且不会被以root身份运行的podman看到或管理。
需要为用户设置多个uid / gids。确保用户出现在文件/ etc / subuid和/ etc / subgid中。
如果您有最新版本的usermod,则可以执行以下命令将范围添加到文件中
$ sudo usermod --add-subuids 10000-75535 USERNAME
$ sudo usermod --add-subgids 10000-75535 USERNAME
或者只是手动添加内容。
$ echo USERNAME:10000:65536 >> / etc / subuid
$ echo USERNAME:10000:65536 >> / etc / subgid
有关更多信息,请参见subuid(5)和subgid(5)手册页。
指定时,图像在XDG_DATA_HOME下拉,否则在.local / share / containers / storage下的用户的主目录中。
目前,需要安装slirp4netns软件包来创建网络设备,否则无根容器需要在主机的网络命名空间中运行。
也可以看看
containers-mounts.conf(5),containers-registries.conf(5),containers-storage.conf(5),buildah(1),libpod.conf(5),oci-hooks(5),policy.json( 5),subuid(5),subgid(5),slirp4netns(1)

以上是关于podman.命令集锦的主要内容,如果未能解决你的问题,请参考以下文章

Podman常用命令总结

Linux Debian11 Podman容器常用命令

Linux Debian11 Podman容器常用命令

Podman build 命令无法拉取镜像

Podman容器技术的日常使用

如何快速建立一个podman环境