当前位置: 首页 > 面试题库 >

standard_init_linux.go:190:exec用户进程导致“没有这样的文件或目录”-Docker

晏卓君
2023-03-14
问题内容

在Windows 10上运行docker映像时,出现以下错误:

standard_init_linux.go:190: exec user process caused "no such file or directory"

我的码头工人文件是:

FROM openjdk:8

EXPOSE 8080

VOLUME /tmp

ADD appagent.tar.gz /opt/app-agent
ADD services.jar app.jar
ADD run.sh /run.sh

# Install compiler and perl stuff
RUN apt-get update
RUN apt-get install -y build-essential
RUN apt-get install -y gcc-multilib
RUN apt-get install -y perl

# Install Percona Toolkit
RUN apt-get install --yes percona-toolkit
RUN ["chmod", "+x", "/run.sh"]
ENTRYPOINT ["/run.sh"]

脚本以 #!/ bin / sh* 开头 *

#!/bin/sh
set -e

JAVA_OPTS="-Dfile.encoding=UTF-8 -Djava.security.egd=file:/dev/urandom"

if [ "${APPD_APP_NAME}" != "" ]; then
JAVA_AGENT="-javaagent:/opt/app-agent/javaagent.jar
fi

exec java ${JVM_OPTS} ${JAVA_OPTS} ${JAVA_AGENT} -jar /app.jar

尝试了方法1: 尝试将#!/ bin / sh更改为#!/ bin / bash, 但遇到相同的错误。

尝试过的方法2:在docker文件中添加了dos2unix

RUN apt-get install -y dos2unix
RUN dos2unix /run.sh

问题答案:

使用记事本++,进入编辑-> EOL转换->从CRLF更改为LF。



 类似资料:
  • 问题内容: 在Go中创建了非常基本的Web应用程序 Docker文件 映像构建成功 但是当我运行docker时,它的显示错误。 请指导问题是什么,我是docker的新手。 与环境有关的信息 使用 go build webapp.go 命令编译了代码 问题答案: 找不到文件可能意味着文件丢失,脚本缺少解释器或可执行文件缺少库。在这种情况下,默认情况下,net import引入libc作为动态链接二进

  • 问题内容: 码头工人开始抛出此错误: standard_init_linux.go:178:exec用户进程导致“ exec格式错误” 每当我运行带有CMD或ENTRYPOINT的特定docker容器时,不考虑文件的任何更改,然后删除CMD或ENTRYPOINT。这是我一直在使用的docker文件,该文件在大约一个小时前运行良好: 问题答案: 我忘了放 在sh文件的顶部,问题已解决。

  • 问题内容: 我正在构建用于python脚本的Dockerfile,它将在下面的minikube Windows 10系统中运行 使用以下命令构建docker 并将其加载到minikube docker demon中 Docker文件 pythoncronjob.yml文件(cron作业文件) 以下是运行此Kubernetes作业的命令 但是获得以下错误作业并不能成功运行,但是当您单独运行Docke

  • 日志如下: 步骤1/3:从头开始-->步骤2/3:CMD echo“Hello First”-->使用缓存-->9f2b6a00982f步骤3/3:ENTRYPOINT echo“Hello Second”-->使用缓存-->1bbe520f9526成功构建1bbe520f9526成功标记my_image:最新安全警告:您正在针对非Windows Docker主机从Windows构建Docker映

  • 问题内容: 我在运行docker文件时收到来自docker的错误消息。就是说/ var / lib / docker / aufs / layers / xxxx:运行Docker build时没有这样的文件或目录。 我尝试了多种方法来删除容器和图像,因此我对此非常有兴趣。 任何 Docker文件为: 完整的控制台输出为: 编辑 @BMitchs的建议解决了该问题: rm -rf / var /

  • 问题内容: 我在Windows中使用Code :: Blocks。 我创建了一个dll项目,试图获得一些JNI实践。 在javah生成的.h文件中,有#include jni.h,但是当我尝试对其进行编译时,它总是说jni.h:没有这样的文件或目录。 我认为这与classpath有关,但我不知道它是什么!可能是我必须更改Code :: Blocks的设置 有人可以帮我解决这个问题吗?非常感谢 编辑