Zs990422
(Zs990422)
1
你好,我在通过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
Zs990422
(Zs990422)
3
感谢您的回答,请问一下有可能是我的基础镜像有问题吗,因为我的基础镜像复制一个文件进行以后也无法正常启动,这是我的Ubuntu22.04基础镜像的链接,如果可以的话您能够把您的ubuntu22.04的镜像链接发哦我一份吗?我想在我这边再尝试一下,谢谢啦。
通过网盘分享的文件:ubuntu2204.tar
链接: 百度网盘 请输入提取码 提取码: vpaf
您好,我这边无法获取到您的镜像,您可以自行分析,有问题沟通。
我是直接从 docker.io官网拉取的ubuntu 2204镜像,例如:
isula-build ctr-img pull docker.io/library/ubuntu:22.04
执行结果:
查看容器镜像。