名称¶
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
,无 root 用户为 "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
(默认):通过 SSH 可访问的、指定host
和port
上的本地 unix(7) sockettcp
:与指定host
和port
的未加密、未认证的 TCP 连接,如果设置了CONTAINER_PROXY
,可以与代理一起工作unix
:在指定path
处的本地 unix(7) socket,或用户的默认路径
user
默认为root
或当前运行的用户(仅限ssh
)password
没有默认值(仅限ssh
)host
必须提供,是托管 Podman 服务的机器的 IP 或名称(ssh
和tcp
)port
默认为 22(ssh
和tcp
)path
默认为/run/podman/podman.sock
,如果以无 root 方式运行则为/run/user/$UID/podman/podman.sock
(unix
),或者必须明确指定(ssh
)CONTAINER_PROXY
:使用代理(socks5
或socks5h
)访问 Podman 服务(仅限tcp
)
URL 值解析优先级
命令行值
环境变量
CONTAINER_HOST
containers.conf 中的
engine.service_destinations
表,不包括 /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://:34451
tcp://127.0.0.1:34451
--version¶
打印版本
环境变量¶
Podman 可以从 containers.conf 中 [engine] 表的环境变量设置环境变量。这些变量可以通过在 podman
命令之前传递环境变量来覆盖。
CONTAINERS_CONF¶
设置 containers.conf 文件的默认位置
CONTAINER_CONNECTION¶
设置访问 Podman 服务的默认 --connection
值。
CONTAINER_HOST¶
设置访问 Podman 服务的默认 --url
值。
CONTAINER_SSHKEY¶
设置用于访问 Podman 服务的默认 --identity
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 $? Error: container_linux.go:346: starting container process caused “exec: “foo”: executable file not found in $PATH”: OCI runtime error 127
退出代码 包含的命令退出代码
$ podman run busybox /bin/sh -c 'exit 3'; echo $?
3
命令¶
命令 |
描述 |
---|---|
附加到一个正在运行的容器。 |
|
使用 Dockerfile 构建容器镜像。 |
|
基于已更改的容器创建新镜像。 |
|
管理容器。 |
|
在容器和本地文件系统之间复制文件/文件夹。 |
|
创建一个新容器。 |
|
检查容器或镜像文件系统上的更改。 |
|
监控 Podman 事件 |
|
将容器的文件系统内容导出为 tar 归档文件。 |
|
根据容器和 Pod 生成结构化数据。 |
|
管理容器的健康检查 |
|
显示镜像的历史记录。 |
|
管理镜像。 |
|
列出本地存储中的镜像。 |
|
导入 tarball 并将其保存为文件系统镜像。 |
|
显示 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)。