在Docker容器内找不到文件

时间:2018-08-24 05:50:30

标签: docker

请帮助。我错过了一些简单的事情。这是我简单的dockerfile:

FROM openjdk:8-jre-alpine

ENV XAP_LICENSE=tryme \
XAP_NIC_ADDRESS=172.17.0.2 \
XAP_GSC_NUMBER=2

#RUN apt-get update && apt-get install
RUN addgroup --system cragroup
RUN adduser -D -g '' crauser
RUN adduser crauser cragroup

WORKDIR /home/crauser

ADD entrypoint.sh entrypoint.sh
ADD gigaspaces-xap-enterprise-12.1.1-ga-b17100 gigaspaces
RUN chmod 755 entrypoint.sh && chown crauser:cragroup entrypoint.sh
RUN chown -R crauser:cragroup /home/crauser

USER crauser

ENTRYPOINT ["./entrypoint.sh"]

并且有入口点脚本:

#!/bin/sh

ls -la ${HOME}/gigaspaces/bin
echo Gigaspase will start ${XAP_GSC_NUMBER} containers
exec ${HOME}/gigaspaces/bin/gs-agent.sh --gsc=${XAP_GSC_NUMBER}

因此,在构建并运行映像后,我得到了一个错误

drwxr-xr-x    1 crauser  cragroup      4096 Jun 13  2017 .
drwxr-sr-x    1 crauser  cragroup      4096 Aug 24 05:40 ..
-rw-r--r--    1 crauser  cragroup     10458 Jun 13  2017   advanced_scripts.zip
-rwxrwxr-x    1 crauser  cragroup       744 May 27  2017 gs-agent.bat
-rwxrwxr-x    1 crauser  cragroup       576 May 27  2017 gs-agent.sh
-rwxrwxr-x    1 crauser  cragroup      1371 Mar 29  2017 gs-ui.bat
-rwxrwxr-x    1 crauser  cragroup      1312 Mar 29  2017 gs-ui.sh
-rwxrwxr-x    1 crauser  cragroup       119 Mar 29  2017 gs-webui.bat
-rwxrwxr-x    1 crauser  cragroup       122 Mar 29  2017 gs-webui.sh
-rwxrwxr-x    1 crauser  cragroup      1547 Mar 29  2017 gs.bat
-rwxrwxr-x    1 crauser  cragroup      2135 Mar 29  2017 gs.sh
-rwxrwxr-x    1 crauser  cragroup       875 Mar 29  2017 setenv-overrides.bat
-rwxrwxr-x    1 crauser  cragroup       850 Mar 29  2017 setenv-overrides.sh
-rwxrwxr-x    1 crauser  cragroup      3945 Mar 29  2017 setenv.bat
-rwxrwxr-x    1 crauser  cragroup      4017 Mar 29  2017 setenv.sh
Gigaspase will start 2 containers
./entrypoint.sh: exec: line 5: /home/crauser/gigaspaces/bin/gs-agent.sh: not found

如您所见,gs-agent脚本存在,但是由于某种原因exec命令找不到它。 预先谢谢你。

1 个答案:

答案 0 :(得分:1)

好,问题出在 来自openjdk:8-jre-alpine

将其更改为openjdk:8解决了问题。我不知道为什么。