isula-build构建镜像问题

你好,我在通过isula-build构建镜像时遇到了一些问题,麻烦帮忙看一下,基础镜像为ubuntu22.04,该镜像以及在其基础上通过docker build和save封装的镜像可以通过isulad容器引擎进行启动并正常运行。


但是我通过isula-build构建镜像时,运行到Dokcerfile里面的RUN指令时,会提示找不到/bin/sh,我通过isulad容器引擎启动并进入ubuntun22.04镜像,是存在/bin/sh和/bin/bash的。

我修改了Dokcerfile,仅仅把一个可执行程序COPY到ubuntu镜像中,可以成功构建镜像,但构建的镜像无法正常启动。

我的isula-build环境和runc应该是没有问题的,当我使用openeuler22.03镜像时,可以正常执行RUN指令。

您好,我尝试在openEuler 2203 SP4的环境上复现本问题,但无法复现问题现象。如果您需要进一步的支持,可以回复更多信息。
以下是我的验证报告。
根据您的描述,我选择了与您测试相近的Dockerfile,参考 制作容器镜像

我仅截取了核心代码,也即

FROM ubuntu:22.04

RUN umask 0022 && \
    groupadd  HwHiAiUser -g 1000 && \
    useradd -d /home/HwHiAiUser -u 1000 -g 1000 -m -s /bin/bash HwHiAiUser && \
    groupadd HwDmUser -g 1101 && \
    useradd -d /home/HwDmUser -u 1101 -g 1101 -m -s /bin/bash HwDmUser && \
    usermod -aG HwDmUser HwHiAiUser && \
    groupadd HwBaseUser -g 1102 && \
    useradd -d /home/HwBaseUser -u 1102 -g 1102 -m -s /bin/bash HwBaseUser && \
    usermod -aG HwBaseUser HwHiAiUser

随后根据该Dockerfile构建容器,执行

isula-build ctr-img build -o isulad:ascend-test:ubuntu -f Dockerfile 

构建成功


该操作在x86上也可以正常执行

如下是我使用的相关版本

isula-build-0.9.6-21.oe2203sp4.aarch64
runc-1.1.3-27.oe2203sp4.aarch64

感谢您的回答,请问一下有可能是我的基础镜像有问题吗,因为我的基础镜像复制一个文件进行以后也无法正常启动,这是我的Ubuntu22.04基础镜像的链接,如果可以的话您能够把您的ubuntu22.04的镜像链接发哦我一份吗?我想在我这边再尝试一下,谢谢啦。
通过网盘分享的文件:ubuntu2204.tar
链接: 百度网盘 请输入提取码 提取码: vpaf

您好,我这边无法获取到您的镜像,您可以自行分析,有问题沟通。
我是直接从 docker.io官网拉取的ubuntu 2204镜像,例如:

isula-build ctr-img pull docker.io/library/ubuntu:22.04

执行结果:

查看容器镜像。