เมื่อฉันใช้งานอิมเมจนักเทียบท่าบน 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
พยายามวิธีที่ 1: พยายามเปลี่ยน #! / bin / sh เป็น #! / bin / bashแต่ได้รับข้อผิดพลาดเดียวกัน
วิธีที่พยายาม 2: เพิ่ม dos2unix ในไฟล์นักเทียบท่า
RUN apt-get install -y dos2unix
RUN dos2unix /run.sh