6.3. 运行带有 runc 和 crun 的容器
有了 runc 或 crun,容器可以使用捆绑包进行配置。容器的捆绑包是一个目录,其中包含一个名为 config.json
的规范文件和根文件系统。根文件系统包含容器的内容。
注意
<runtime>
可以是 crun 或 runc。
先决条件
-
container-tools
元数据包已安装。
流程
拉取
registry.access.redhat.com/ubi9/ubi
容器镜像:# podman pull registry.access.redhat.com/ubi9/ubi
将
registry.access.redhat.com/ubi9/ubi
镜像导出到rhel.tar
归档:# podman export $(podman create registry.access.redhat.com/ubi9/ubi) > rhel.tar
创建
bundle/rootfs
目录:# mkdir -p bundle/rootfs
将
rhel.tar
归档解压到bundle/rootfs
目录中:# tar -C bundle/rootfs -xf rhel.tar
为捆绑包创建一个名为
config.json
的新规范文件:# <runtime> spec -b bundle
-
-b
选项指定捆绑包目录。默认值为当前目录。
-
可选:更改设置:
# vi bundle/config.json
为捆绑包创建一个名为
myubi
的容器实例:# <runtime> create -b bundle/ myubi
启动
myubi
容器:# <runtime> start myubi
注意
容器实例的名称对于主机来说必须是唯一的。要启动容器的一个新实例:# <runtime> start <container_name>
验证
列出由
<runtime>
启动的容器:# <runtime> list ID PID STATUS BUNDLE CREATED OWNER myubi 0 stopped /root/bundle 2021-09-14T09:52:26.659714605Z root
其他资源
-
crun
手册页 -
runc
手册页 - crun 简介,一个快速且占用内存少的容器运行时