加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

docker – 命令’/ bin/sh返回非零代码:1

发布时间:2020-12-16 03:39:28 所属栏目:安全 来源:网络整理
导读:当我尝试在ubuntu Docker容器中手动安装bin文件时,它工作得很好, ./MyBinfile.bin 但是当我从我的Dockerfile中尝试它时,我总是得到错误: 命令/ bin / sh -c chmod x /tmp/snapcenter_linux_host_plugin.bin ./tmp/MyBinFile.bin返回非零代码:1 我的Dockerf

当我尝试在ubuntu Docker容器中手动安装bin文件时,它工作得很好,

./MyBinfile.bin

但是当我从我的Dockerfile中尝试它时,我总是得到错误:
命令’/ bin / sh -c chmod x /tmp/snapcenter_linux_host_plugin.bin&& ./tmp/MyBinFile.bin’返回非零代码:1

我的Dockerfile看起来像:

    FROM debian:jessie

    RUN apt-get update && apt-get install -y openjdk-7-jdk
    ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64
    RUN echo $JAVA_HOME

    COPY MyBinFile.bin /tmp/MyBinFile.bin
    RUN chmod +x /tmp/MyBinFile.bin && ./tmp/MyBinFile.bin

在这种情况下,有人可以帮助我吗?

最佳答案
您将MyBinFile.bin复制到/tmp/MyBinFile.bin.那些不是同一个文件.如果需要运行它,请使用具有可执行属性的文件的绝对路径.所以你的最后一行应该是:

RUN chmod +x /tmp/MyBinFile.bin && /tmp/MyBinFile.bin

” (点)表示您当前的当前工作目录.如果你不确定你的cwd是什么,建议总是使用绝对路径.

编辑

运行Dockerfile会产生以下输出:

Sending build context to Docker daemon 3.584 kB
Step 1/6 : FROM debian:jessie
 ---> 8cedef9d7368
Step 2/6 : RUN apt-get update && apt-get install -y openjdk-7-jdk
 ---> Using cache
 ---> 1a0005923f41
Step 3/6 : ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64
 ---> Using cache
 ---> 5651d50b519e
Step 4/6 : RUN echo $JAVA_HOME
 ---> Using cache
 ---> 96655235a2cf
Step 5/6 : COPY MyBinFile.bin /tmp/MyBinFile.bin
 ---> 60c79aaf5aca
Removing intermediate container cd729c315e9b
Step 6/6 : RUN chmod +x /tmp/MyBinFile.bin && /tmp/MyBinFile.bin
 ---> Running in 5db126cbd24c
/bin/sh: 1: /tmp/MyBinFile.bin: Text file busy
The command '/bin/sh -c chmod +x /tmp/MyBinFile.bin && 
/tmp/MyBinFile.bin' returned a non-zero code: 2

但如果我将你的最后一步分成两个不同的步骤:

FROM debian:jessie

RUN apt-get update && apt-get install -y openjdk-7-jdk
ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64
RUN echo $JAVA_HOME

COPY MyBinFile.bin /tmp/MyBinFile.bin
RUN chmod +x /tmp/MyBinFile.bin
RUN /tmp/MyBinFile.bin

然后它执行OK.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读