名称¶
podman-remote - Podman 的远程 CLI:用于管理 pod、容器和镜像的简单管理工具。
语法¶
podman-remote [选项] 命令
描述¶
Podman(Pod 管理器)是一个功能齐全的容器引擎,它是一个简单的无守护进程工具。Podman 提供了一个类似于 Docker-CLI 的命令行,简化了从其他容器引擎的迁移,并允许管理 pod、容器和镜像。简而言之:alias docker=podman
。大多数 Podman 命令可以作为普通用户运行,不需要额外的权限。
Podman 在内部使用 Buildah(1) 来创建容器镜像。这两个工具共享镜像(而不是容器)存储,因此每个工具都可以使用或操作由另一个工具创建的镜像(但不能使用容器)。
Podman-remote 提供了一个本地客户端,通过一个通过 ssh 连接建立的 RESTful API 与 Podman 后端节点进行交互。在此上下文中,Podman 节点是一个安装了 Podman 且启用了 API 服务的 Linux 系统。此会话的凭据可以通过标志、环境变量或 containers.conf
传递。
containers.conf
文件位于 Linux 和 Mac 上的 $HOME/.config/containers/containers.conf
和 Windows 上的 %APPDATA%\containers\containers.conf
。
podman [全局选项]
全局选项¶
--connection=名称, -c¶
远程连接名称
如果已设置,则覆盖环境变量 CONTAINER_CONNECTION
。
--help, -h¶
打印使用说明
--identity=路径¶
ssh 身份文件路径。如果身份文件已加密,Podman 会提示用户输入密码。如果未提供身份文件,并且未提供用户,Podman 默认使用运行 podman 命令的用户。Podman 会提示用户输入远程服务器的登录密码。
身份值解析优先级
命令行值
环境变量
CONTAINER_SSHKEY
,如果找到CONTAINER_HOST
containers.conf
--log-level=级别¶
记录高于指定级别的日志消息:debug、info、warn、error(默认)、fatal 或 panic
--url=值¶
访问 Podman 服务的 URL(默认从 containers.conf
获取,无根用户为 “unix:///run/user/$UID/podman/podman.sock”,或作为 root 用户为 “unix:///run/podman/podman.sock”)。
CONTAINER_HOST
格式为<schema>://[<user[:<password>]@]<host>[:<port>][<path>]
CONTAINER_PROXY
格式为<socks5|socks5h>://[<user[:<password>]@]<host>[:<port>]
详细信息
schema
是以下之一ssh
(默认):在命名host
和port
上的本地 unix(7) 套接字,可通过 SSH 访问tcp
:与命名host
和port
建立的未加密、未经身份验证的 TCP 连接,如果已设置CONTAINER_PROXY
,可以与代理一起使用unix
:在指定path
上的本地 unix(7) 套接字,或用户的默认套接字
user
默认情况下为root
或当前运行用户(仅限ssh
)password
没有默认值(仅限ssh
)host
必须提供,并且是托管 Podman 服务的机器的 IP 或名称(ssh
和tcp
)port
默认情况下为 22(ssh
和tcp
)path
默认情况下为/run/podman/podman.sock
,或者如果无根用户运行,则为/run/user/$UID/podman/podman.sock
(unix
),或者必须明确指定(ssh
)CONTAINER_PROXY
:使用代理(socks5
或socks5h
)访问 Podman 服务(仅限tcp
)
URL 值解析优先级
命令行值
环境变量
CONTAINER_HOST
engine.service_destinations
表格在 containers.conf 中,不包括 /usr/share/containers 目录unix:///run/podman/podman.sock
远程连接使用本地 containers.conf 作为默认值。
一些有效格式的示例 URL 值
unix:///run/podman/podman.sock
unix:///run/user/$UID/podman/podman.sock
ssh://notroot@localhost:22/run/user/$UID/podman/podman.sock
ssh://root@localhost:22/run/podman/podman.sock
tcp://127.0.0.1:34451
tcp://127.0.0.1:34451
--version¶
打印版本
环境变量¶
Podman 可以从 containers.conf 中 [engine] 表格的 env 设置环境变量。这些变量可以通过在 podman
命令之前传递环境变量来覆盖。
CONTAINERS_CONF¶
设置 containers.conf 文件的默认位置
CONTAINER_CONNECTION¶
设置默认 --connection
值以访问 Podman 服务。
CONTAINER_HOST¶
设置默认 --url
值以访问 Podman 服务。
CONTAINER_SSHKEY¶
设置默认 --identity
路径,指向用于访问 Podman 服务的 ssh 密钥文件。
退出状态¶
podman
的退出代码提供了有关容器运行失败或退出原因的信息。当 podman
命令以非零代码退出时,退出代码遵循 chroot
标准,见下文
125 错误与 podman 本身有关
$ podman run --foo busybox; echo $?
Error: unknown flag: --foo
125
126 执行包含的命令,但无法调用命令
$ podman run busybox /etc; echo $?
Error: container_linux.go:346: starting container process caused "exec: \"/etc\": permission denied": OCI runtime error
126
127 执行包含的命令,但找不到命令 $ podman run busybox foo; echo $? 错误:container_linux.go:346:启动容器进程导致“exec: “foo”: executable file not found in $PATH”: OCI 运行时错误 127
退出代码 包含的命令 退出代码
$ podman run busybox /bin/sh -c 'exit 3'; echo $?
3
命令¶
命令 |
描述 |
---|---|
附加到正在运行的容器。 |
|
使用 Dockerfile 构建容器镜像。 |
|
根据已修改的容器创建新的镜像。 |
|
管理容器。 |
|
在容器和本地文件系统之间复制文件/文件夹。 |
|
创建一个新的容器。 |
|
检查容器或镜像文件系统的更改。 |
|
监控 Podman 事件 |
|
将容器的文件系统内容导出为 tar 归档文件。 |
|
根据容器和 pod 生成结构化数据。 |
|
管理容器的健康检查 |
|
显示镜像的历史记录。 |
|
管理镜像。 |
|
列出本地存储中的镜像。 |
|
导入 tar 包并将其保存为文件系统镜像。 |
|
显示与 Podman 相关的系统信息。 |
|
初始化容器 |
|
显示容器或镜像的配置。 |
|
杀死一个或多个容器中的主进程。 |
|
从容器镜像存档加载镜像到容器存储。 |
|
显示容器的日志。 |
|
暂停一个或多个容器。 |
|
容器组(称为 pod)的管理工具。 |
|
列出容器的端口映射。 |
|
打印有关容器的信息。 |
|
从注册表中拉取镜像。 |
|
将镜像从本地存储推送到其他地方。 |
|
重启一个或多个容器。 |
|
删除一个或多个容器。 |
|
删除一个或多个本地存储的镜像。 |
|
在新容器中运行命令。 |
|
将镜像保存到容器存档中。 |
|
启动一个或多个容器。 |
|
停止一个或多个正在运行的容器。 |
|
管理 podman。 |
|
向本地镜像添加其他名称。 |
|
显示容器的正在运行的进程。 |
|
取消暂停一个或多个容器。 |
|
显示 Podman 版本信息。 |
|
管理卷。 |
文件¶
containers.conf ($HOME/.config/containers/containers.conf
)
Podman 为命令行选项提供了内置的默认值。可以使用 containers.conf 配置文件覆盖这些默认值。
用户可以通过创建 $HOME/.config/containers/containers.conf
文件来修改默认值。Podman 会将它的内置默认值与来自此文件的指定字段合并(如果存在)。用户文件中指定的字段会覆盖内置的默认值。
如果找不到 containers.conf 文件,Podman 会使用内置的默认值。
另请参阅¶
podman(1), podman-system-service(1), containers.conf(5)
故障排除¶
请参考 podman-troubleshooting(7) 获取常见问题的解决方案。