开源是一种精神,分享是一种美德!

podman

相关命令:docker
 podman 命令 (代表 Pod Manager)可让您以独立实体运行容器,而无需涉及 Kubernetes、Docker 运行时或其他容器运行时。它是 docker 命令的一个替代工具,使用相同的命令行语法。另外,还添加了更多容器管理功能。podman 的功能包括:

基于 docker 接口: 因为 podman 语法与 docker 命令类似,所以熟悉 docker 的用户可以非常容易地转换到 podman。
管理容器和镜像: Docker- 和 OCI 兼容的容器镜像可被 podman 用于:

运行、停止和重启容器
创建和管理容器镜像(推送、提交、配置、构建等)
管理 pod: 在运行单个容器外, podman 可以运行 pod 中分组的一组容器。Pod 是 Kubernetes 管理的最小容器单元。
无运行时操作: podman 不需要使用运行时环境来运行容器。
podman 的一些实现功能:

Podman、Buildah 和 CRI-O 容器引擎都默认使用相同的后端存储目录 /var/lib/containers,而不是使用 Docker 存储位置(/var/lib/docker)。
尽管 Podman、Buildah 和 CRI-O 共享相同的存储目录,但它们不能与其它容器交互。但是,这些工具可以共享镜像。最终目标时,这些工具将可以共享容器。
podman 命令和 docker 命令一样,可以从 Dockerfile 构建容器镜像。
当 CRI-O 服务不可用时,podman 命令可以作为一个有用的故障排除工具。
podman 不支持的 docker 命令选项包括 network、node、plugin(podman 不支持插件)、rename(podman 使用 rm 和 create 来重命名容器)、secret、service、stack 和 swarm(podman 不支持 Docker Swarm)。用来运行子命令的容器和镜像选项直接在 podman 中使用。
要通过编程与 podman 交互,可以使用名为 varlink 的技术来使用 Podman 的远程 API。这可让 podman 侦听来自远程工具(如 RHEL 8 web 控制台或 atomic 命令)的 API 请求并回应它们。

参数:

attach 附加到正在运行的容器
commit 从更改的容器创建新镜像
build 使用 Dockerfile 说明构建镜像
create 创建一个容器,但不启动它
diff 检查容器文件系统的更改
exec 在正在运行的容器中运行进程
export 将容器的文件系统内容导出为 tar 归档
help, h 显示某个命令的命令或帮助列表
history 显示指定镜像的历史记录
images 列出本地存储中的镜像
import 导入 tarball 创建文件系统映像
info 显示系统信息
inspect 显示容器或镜像的配置
kill 向运行的一个或多个容器发送特定信号
load 从存档加载镜像
login 登录到容器 registry
logout 从容器 registry 中登出
logs 获取容器日志
mount 挂载可运行的容器根文件系统
pause 暂停一个或多个容器中的所有进程
ps 列出容器
port 列出容器的端口映射或特定映射
pull 从 registry 中拉取镜像
push 将镜像推送到指定的目的地
restart 重启一个或多个容器
rm 从主机中删除一个或多个容器。如果要运行,添加 -f。
rmi 从本地存储中移除一个或多个镜像
run 在新容器中运行命令
save 将镜像保存到存档中
search 在 registry 中搜索镜像
start 启动一个或多个容器
stats 为一个或多个容器显示 CPU、内存、网络 I/O、块 I/O 和 PID 百分比
stop 停止一个或多个容器
tag 为本地镜像添加额外名称
top 显示容器的运行进程
umount, unmount 卸载正常工作容器的根文件系统
unpause 取消暂停一个或多个容器中的流程
version 显示 podman 版本信息
wait 在一个或多个容器上阻止
 

1,将容器镜像拉取到本地系统

# podman pull registry.redhat.io/ubi8/ubi
Trying to pull registry.redhat...Getting image source signatures
Copying blob sha256:d1fe25896eb5cbcee...
Writing manifest to image destination
Storing signatures
fd1ba0b398a82d56900bb798c...

2,列出本地容器镜像
# podman images
REPOSITORY                    TAG      IMAGE ID       CREATED       SIZE
registry.redhat.io/ubi8/ubi   latest   de9c26f23799   5 weeks ago   80.1MB
registry.redhat.io/ubi8/ubi   latest   fd1ba0b398a8   5 weeks ago   211MB

3,检查容器镜像
# podman inspect registry.redhat.io/ubi8/ubi | less
[
    {
        "Id": "4bbd153adf8487a8a5114af0d6...",
        "Digest": "sha256:9999e735605c73f...",
        "RepoTags": [
            "registry.access.redhat.com/ubi8/ubi:latest"
        ],
        "RepoDigests": [
            "registry.access.redhat.com/ubi8/ubi/rhel@sha256:9999e7356...


4,运行容器,该容器在容器内打开一个 shell:

# podman run -it registry.redhat.io/ubi8/ubi /bin/bash
[root@8414218c04f9 /]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 13:48 pts/0    00:00:00 /bin/bash
root        21     1  0 13:49 pts/0    00:00:00 ps -ef
[root@8414218c04f9 /]# exit


5,列出正在运行或已退出的容器
# podman ps -a
CONTAINER ID   IMAGE                                             COMMAND
   CREATED AT                      STATUS                  PORTS NAMES
440becd26893   registry.redhat.io/ubi8/ubi-minimal:latest  /bin/bash
   2018-05-10 09:02:52 -0400 EDT   Exited (0) About an hour ago  happy_hodgkin
8414218c04f9   registry.redhat.io/ubi8/ubi:latest          /bin/bash
   2018-05-10 09:48:07 -0400 EDT   Exited (0) 14 minutes ago     nostalgic_boyd


6,通过容器 ID 删除容器:
# podman rm 440becd26893

7,通过镜像 ID 或名称删除容器镜像(使用 -f 强制删除):
# podman rmi registry.redhat.io/ubi8/ubi
# podman rmi de9c26f23799
# podman rmi -f registry.redhat.io/ubi8/ubi:latest

评论(0)

暂无评论

评论

名字:
验证码:
获取验证码
内容: