当我在windows 10上运行我的码头映像时,我得到了以下错误:
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尝试method1:尝试将#!/bin/sh更改为#!/bin/bash,但得到了相同的错误。
尝试method2:在停靠文件中添加dos2unix
RUN apt-get install -y dos2unix
RUN dos2unix /run.sh发布于 2018-10-05 12:30:12
使用notepad++,转到编辑-> EOL转换->从CRLF到LF。
更新:对于VScode用户:您可以通过单击状态栏右下角的CRLF将CRLF更改为LF。
发布于 2019-06-10 15:00:00
在使用alpine映像时,我也遇到了同样的问题。
我的.sh文件有以下第一行:
#!/bin/bash阿尔卑斯山没有巴什。所以把行改为
#!/bin/sh或安装bash
apk add --no-cache bash帮我解决了这个问题。
https://stackoverflow.com/questions/51508150
复制相似问题