[英]How to execute shell script within a docker container
我有一个Docker容器,该容器在启动时执行一个shell脚本(startService.sh),该脚本使用“ source” linux关键字(我的docker容器不喜欢)。 运行映像时,我看到以下错误消息:
./startService.sh:6:./startService.sh:源:找不到
为什么会看到此错误? 不能在映像的脚本中使用“ source” linux命令吗?
Dockerfile:
FROM openjdk:8
VOLUME /opt/att/ajsc/config
COPY startService.sh /startService.sh
RUN chmod 777 /startService.sh
ENTRYPOINT ./startService.sh
startService.sh
#!/bin/sh
export AJSC_HOME=/opt/att/ajsc
export AJSC_CONFIG_HOME=${AJSC_HOME}/config
source /opt/att/ajsc/etc/config /run.source
source
是bash
的命令,但sh
没有。 在sh
,使用单点.
。 单点.
也可以使用bash
。
您的脚本具有shebang #!/bin/sh
。 用替换source
.
,或将#!/bin/sh
替换为#!/bin/bash
。
(此问题与泊坞窗无关。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.