iSulad轻量级容器引擎实践
一、iSulad简介
iSulad(Inelligent SUbcontainer Linux Application Delivery)是华为开源的一款轻量级容器引擎,旨在为用户提供一个简单、高效、可扩展的容器运行时环境。iSulad基于Docker的容器技术,但具有更低的资源消耗和更快的启动速度。iSulad支持多种容器镜像格式,包括Docker镜像、OCI镜像和CRI-O镜像等,并支持多种容器运行时,如runc、kata-containers和gVisor等。
二、配置实验环境
输入:yum group install -y "Development Tools"

接着输入:yum install -y jq

三、iSulad轻量级容器引擎实践
从YUM软件仓库安装iSulad软件,输入:yum install -y iSulad

配置容器镜像注册地址:iSulad 的主要配置文件为 /etc/isulad/daemon.json
配置内容如下

验证配置文件格式:
cat /etc/isulad/daemon.json | jq

能够正确显示内容,即表示格式合法。重新启动isulad,并查看isulad的运行状况:
systemctl restart isulad
systemctl status isulad

正确显示active
四、iSulad容器与镜像管理
1.运行容器busybox
isula run busybox echo "hello world"
第一次运行会拉取busybox的镜像,然后运行它的一个实例,并且调用echo命令打印hello world字符串。

2.容器交互式操作
使用isula run -it busybox 再次运行busybox:
-i参数即使没有连接到容器的标准输入,也要保持容器的标准输入打开。
-t参数为容器分配一个伪终端 --tty。

输入isula ps,发现该容器还在运行。

只有当isula attach命令接入容器时,用exit退出才会自动终止容器。
3. 使用isula构建容器镜像并导出到 isulad
yum install -y isula-build

yum install -y docker-runc
然后,用systemctl start命令启动并查看版本
systemctl start isula-build
isula-build version

修改配置:
cp /etc/isula-build/registries.toml{,.before}
vi /etc/isula-build/registries.toml
cat /etc/isula-build/registries.toml

随后重启并验证
systemctl restart isula-build
isula-build info -H

接下来创建并导出:
mkdir -p ~/iSula/build && cd $_
vi Dockerfile
cat Dockerfile

创建脚本文件
赋予脚本执行权限:
chmod +x hello.sh
构建镜像并导出到 iSulad:
isula-build ctr-img build -f ./Dockerfile -o isulad:hello-isula-build:v0.1

# 查看 isula-build 中的镜像
isula-build ctr-img images
# 查看 iSulad 中的镜像
isula images
isula run hello-isula-build:v0.1

可见导出成功,该容器可以正常运行。
五、心得体会
通过本次实验,我对iSula轻量级容器技术有了初步的认识,特别是在iSulad容器引擎的安装、配置以及基本操作方面积累了一定的经验。另外,我也掌握了容器和镜像的管理技巧,尤其是在使用isula-build进行自定义镜像的构建和导出到iSulad的整个流程中得到了实践验证。配合老师对iSula、镜像和容器等核心概念的讲解,我对容器的基本流程、生命周期管理以及操作方式有了更全面的理解。这些收获为我后续深入学习和应用容器技术提供了坚实的基础。
iSulad轻量级容器引擎实践
一、iSulad简介
iSulad(Inelligent SUbcontainer Linux Application Delivery)是华为开源的一款轻量级容器引擎,旨在为用户提供一个简单、高效、可扩展的容器运行时环境。iSulad基于Docker的容器技术,但具有更低的资源消耗和更快的启动速度。iSulad支持多种容器镜像格式,包括Docker镜像、OCI镜像和CRI-O镜像等,并支持多种容器运行时,如runc、kata-containers和gVisor等。
二、配置实验环境
输入:yum group install -y "Development Tools"
接着输入:yum install -y jq
三、iSulad轻量级容器引擎实践
从YUM软件仓库安装iSulad软件,输入:yum install -y iSulad
配置容器镜像注册地址:iSulad 的主要配置文件为 /etc/isulad/daemon.json
配置内容如下
验证配置文件格式:
cat /etc/isulad/daemon.json | jq
能够正确显示内容,即表示格式合法。重新启动isulad,并查看isulad的运行状况:
systemctl restart isulad
systemctl status isulad
正确显示active
四、iSulad容器与镜像管理
1.运行容器busybox
isula run busybox echo "hello world"
第一次运行会拉取busybox的镜像,然后运行它的一个实例,并且调用echo命令打印hello world字符串。
2.容器交互式操作
使用isula run -it busybox 再次运行busybox:
-i参数即使没有连接到容器的标准输入,也要保持容器的标准输入打开。
-t参数为容器分配一个伪终端 --tty。
输入isula ps,发现该容器还在运行。
只有当isula attach命令接入容器时,用exit退出才会自动终止容器。
3. 使用isula构建容器镜像并导出到 isulad
yum install -y isula-build
yum install -y docker-runc
然后,用systemctl start命令启动并查看版本
systemctl start isula-build
isula-build version
修改配置:
cp /etc/isula-build/registries.toml{,.before}
vi /etc/isula-build/registries.toml
cat /etc/isula-build/registries.toml
随后重启并验证
systemctl restart isula-build
isula-build info -H
接下来创建并导出:
mkdir -p ~/iSula/build && cd $_
vi Dockerfile
cat Dockerfile
创建脚本文件
赋予脚本执行权限:
chmod +x hello.sh
构建镜像并导出到 iSulad:
isula-build ctr-img build -f ./Dockerfile -o isulad:hello-isula-build:v0.1
# 查看 isula-build 中的镜像
isula-build ctr-img images
# 查看 iSulad 中的镜像
isula images
isula run hello-isula-build:v0.1
可见导出成功,该容器可以正常运行。
五、心得体会
通过本次实验,我对iSula轻量级容器技术有了初步的认识,特别是在iSulad容器引擎的安装、配置以及基本操作方面积累了一定的经验。另外,我也掌握了容器和镜像的管理技巧,尤其是在使用isula-build进行自定义镜像的构建和导出到iSulad的整个流程中得到了实践验证。配合老师对iSula、镜像和容器等核心概念的讲解,我对容器的基本流程、生命周期管理以及操作方式有了更全面的理解。这些收获为我后续深入学习和应用容器技术提供了坚实的基础。