Docker容器中log-agent.sh脚本无法自动执行的问题求助
Docker容器中log-agent.sh脚本无法自动执行的问题求助
我需要在Docker容器内执行log-agent.sh这个Shell脚本,但现在遇到了一个棘手的问题:容器里的Spring Boot应用启动完全正常,可这个脚本始终没被执行,而且日志里也没有任何相关错误信息。我已经做了不少排查工作,但还是没找到问题根源,想请大家帮忙分析下。
下面是我的容器配置和相关脚本内容:
Dockerfile 配置
FROM openjdk:11-jre LABEL org.opencontainers.image.authors="gurucharan.sharma@paytm.com" # Install AWS CLI RUN apt-get update && \ apt-get install -y awscli && \ apt-get clean VOLUME /tmp ARG JAR_FILE ARG PROFILE ADD ${JAR_FILE} app.jar ENV PROFILE_ENV=${PROFILE} EXPOSE 8080 COPY entrypoint.sh / COPY log-agent.sh / # Set permissions for log-agent.sh RUN chmod +x /log-agent.sh # Use entrypoint.sh as the entry point ENTRYPOINT ["/entrypoint.sh"] # Execute log-agent.sh # RUN /bin/bash -c '/logs/log-agent.sh' CMD ["/bin/bash", "-c", "/log-agent.sh"]
entrypoint.sh 脚本内容
#!/bin/bash # 尝试执行log-agent.sh /bin/bash /log-agent.sh # 检查内存泄漏检测级别配置 if [ -z "$LEAK_DETECTION_LEVEL" ] then LEAK_DETECTION_LEVEL=advanced fi # 启动Spring Boot应用 java -Dspring.profiles.active=${PROFILE_ENV} -XX:+UseG1GC -Dio.netty.leakDetection.level=${LEAK_DETECTION_LEVEL} -Djava.security.egd=file:/dev/./urandom -Dloader.main=com.adtech.DemoApplication -jar app.jar
我已经完成的排查
- 确认
log-agent.sh的文件路径完全正确 - 已经通过
chmod +x给脚本添加了可执行权限 - 验证了脚本本身的语法和逻辑正确性,包含正常的shebang头
- 手动通过
docker exec进入容器执行/log-agent.sh,脚本可以正常运行
有没有大佬能给我一些建议,看看问题到底出在哪?
备注:内容来源于stack exchange,提问作者Gurucharan Sharma
相关产品推荐
相关产品推荐

