当我运行Dockerfile时,我得到了这个错误。
[FATAL tini (7)] exec/docker-entrypoint.sh failed: No such file or directory
docker build命令运行正常,但当我试图运行它时,我得到这个问题。
这不是权限问题,因为我已经通过chmod 777命令为文件设置了完整的读/写权限。
你知道我错过了什么吗?下面是我的Dockerfile
中的一个片段ARG base_image_name=tomcat
ARG base_image_version=9-jdk11-openjdk-slim
FROM $base_image_name:$base_image_version
ARG component_exe
COPY docker-entrypoint.sh $component_exe /
ENV APP_ROOT=/usr/local/tomcat
ENV component_runtime=${APP_ROOT}/webapps/$component_exe
ENV APP_USER=uat
# Install all required packages and set appropriate access permissions
RUN
apt-get -y update &&
apt-get -y upgrade &&
apt-get install jq bash ca-certificates tini &&
adduser --disabled-password --gecos "" ${APP_USER} &&
mkdir -p ${APP_ROOT}/temp &&
mkdir -p ${APP_ROOT}/bin &&
mkdir -p ${APP_ROOT}/webapps &&
chmod 777 ${APP_ROOT}/webapps &&
chown -R ${APP_USER}:root ${APP_ROOT} &&
chmod 777 /docker-entrypoint.sh &&
chmod -R g=u ${APP_ROOT} &&
find / -name *.war &&
find / -name *tini* &&
find / -name *-entrypoint.sh &&
mv /$component_exe /usr/local/tomcat/webapps &&
chown -R :root /usr/local/openjdk-11/lib/security/cacerts &&
chmod 660 /usr/local/openjdk-11/lib/security/cacerts
EXPOSE 8080/tcp
ENTRYPOINT ["/usr/bin/tini", "--", "/docker-entrypoint.sh"]
# Start Tomcat Server.
CMD ["catalina.sh", "run"]
我遇到这个问题是因为我的docker-entrypoint.sh不在指定的路径上。确保您的docker-entrypoint.sh位于docker文件中指定的路径下。使用docker inspect命令检查。
您可以尝试在Docker文件夹中运行以下内容,然后重新构建吗?原因可能是你在Windows上构建,
find . -not ( -name .svn -prune -o -name .git -prune ) -type f -print0 | xargs -0 sed -i 's/r//'