为什么在运行简单的docker映像时出现oci运行时错误?

赛义德·赛义夫

我是docker的新手,我想创建一个简单的映像,当我运行它时,可以在终端上看到其输出。我尝试了两种方法:

第一种方式:

  • 我创建了一个简单的bash文件hello.sh,其中包含 echo "hello"
  • 然后,我创建了一个包含以下内容的dockerfile:

FROM Scratch ADD script.sh /usr/local/bin/run.sh CMD ["/usr/local/bin/run.sh"]

  • 我使用以下方法创建了图像: go build -t hello_image .
  • 然后使用以下命令运行图像: go run hello_image
  • 我收到错误: standard_init_linux.go:175: exec user process caused "exec format error"

然后我尝试了第二种方法:

  • 我创建了一个包含以下内容的Dockerfile:

FROM Scratch CMD echo "This is a test."

  • 我建立了形象
  • 我跑了图片
  • 我收到一个错误:

Error response from daemon: oci runtime error: exec: "/bin/sh": stat /bin/sh: no such file or directory.

谁能帮助我解决这个错误,甚至可以解释我应该怎么做才能创建代码的简单映像并在运行时查看其输出。谢谢

肾上腺素

scratch图像实际上是“空”的。有没有由基本图像提供的文件,最重要的是没有壳(bashsh,等)。

当您尝试运行bash脚本时,它失败了,因为没有bash二进制文件可以运行它。尝试运行echo时失败,因为echo该映像中不存在二进制文件。

如果要从中运行程序,则script需要将其编译为静态ELF二进制文件。某些语言(例如lang)很容易做到。

如果您只想运行bash脚本,则应尝试创建alpine一个最小的Linux发行版映像

FROM alpine:3.4
CMD echo "hello"

或者

FROM alpine:3.4
RUN  apk add -U bash
COPY script.sh /usr/local/bin/run.sh
CMD  ["bash", "/usr/local/bin/run.sh"]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无效的标头字段值“运行docker映像时出现oci运行时错误

为什么该程序在运行时出现错误

在为新安装的Docker运行“ hello world”测试容器时,出现OCI运行时错误

为什么某些Docker映像在运行时需要命令?

为什么这个简单的strcat在运行时崩溃?

为什么在运行时出现Typescript编译错误?

为什么在运行时出现java.lang.StringIndexOutOfBoundsException错误?

为什么io.WriterString出现运行时错误?

为什么会出现运行时错误?

为什么会出现访问冲突运行时错误?

为什么我的代码出现运行时错误?

为什么我在 Windows 中使用 python 进行多处理时出现运行时错误?

为什么在struct中使用字符串时出现运行时错误

为什么在Codechef中提交此代码时出现运行时错误(SIGABRT)?

比较两列时为什么会出现运行时错误?

释放内存时为什么会出现运行时错误?

为什么在读取文件时出现运行时错误

为什么在联机提交此代码时出现运行时错误?(jdk 1.7)

Docker Hello Wold-OCI运行时错误

Docker 构建错误 OCI 运行时创建失败

为什么在运行“ bower install”时出现此错误?

为什么在运行optaplanner .jar时出现此错误?

为什么自动布局约束不会在运行时出现?

在运行时垂直调整Frame大小后,为什么JRadioButtons会出现故障?

为什么我的通用 StatefulWidget 类在运行时会出现 TypeError?

为什么在使用'-p'标志运行时docker-compose启动不同的映像

运行时Docker映像错误:找不到文件

docker OCI运行时创建失败

Perl:在运行时构建二维数组时出现内存不足错误