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
# podman pull registry.access.redhat.com/ubi9/ubiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将
registry.access.redhat.com/ubi9/ubi镜像导出到rhel.tar归档:podman export $(podman create registry.access.redhat.com/ubi9/ubi) > rhel.tar
# podman export $(podman create registry.access.redhat.com/ubi9/ubi) > rhel.tarCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
bundle/rootfs目录:mkdir -p bundle/rootfs
# mkdir -p bundle/rootfsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将
rhel.tar归档解压到bundle/rootfs目录中:tar -C bundle/rootfs -xf rhel.tar
# tar -C bundle/rootfs -xf rhel.tarCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为捆绑包创建一个名为
config.json的新规范文件:<runtime> spec -b bundle
# <runtime> spec -b bundleCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
-b选项指定捆绑包目录。默认值为当前目录。
-
可选:更改设置:
vi bundle/config.json
# vi bundle/config.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为捆绑包创建一个名为
myubi的容器实例:<runtime> create -b bundle/ myubi
# <runtime> create -b bundle/ myubiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启动
myubi容器:<runtime> start myubi
# <runtime> start myubiCopy to Clipboard Copied! Toggle word wrap Toggle overflow
注意
容器实例的名称对于主机来说必须是唯一的。要启动容器的一个新实例:# <runtime> start <container_name>
验证
列出由
<runtime>启动的容器:<runtime> list
# <runtime> list ID PID STATUS BUNDLE CREATED OWNER myubi 0 stopped /root/bundle 2021-09-14T09:52:26.659714605Z rootCopy to Clipboard Copied! Toggle word wrap Toggle overflow