当我运行我的Dockerfile时,我得到这个错误。
[致命的tini(7)] exec /docker-entrypoint.sh失败:没有此类文件或目录
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"]
1条答案
按热度按时间bttbmeg01#
我遇到这个问题是因为我的docker-entrypoint.sh不在指定的路径上。请确保您的docker-entrypoint.sh位于docker文件中指定的路径上。请使用docker inspect命令检查。