当我尝试通过/script.sh && / script.sh调用它两次时,Docker找不到一个脚本,我复制到一个图像(但一旦工作!)
我想要做的一个简单的例子涉及一个像这样的Dockerfile:
from ubuntu COPY script.sh /script.sh RUN chmod a+x /script.sh
和这样的脚本文件:
/script.sh
#!/bin/bash echo hi `date` sleep 1 echo hi `date`
我像这样build立和运行,一切都很好,很棒:
docker build -t client . docker run client /script.sh
当我做到以上我看到“嗨”两次与date。
现在,如果我想四次告诉“嗨”,我想我可以这样做:
docker run client /script.sh && /script.sh
但是,这个失败与错误:
bash: /script.sh: No such file or directory
很奇怪..因为我提供了完整的path/script.sh ..我想知道为什么bash找不到它。
对于内置命令,我可以使用“&&”运算符“链接”。 例如,这工作正常:
docker run client /script.sh && echo it works
如果有人能够启发我,我会非常感激!
您的命令在主机上parsing为"docker run..." && /script.sh
,结果很明显。 您可能想要改写它说docker run ... /bin/bash -c "/script.sh && /script.sh"
- 如何在Docker容器上configuration环境variables,而不用在Dockerfile中对它们进行硬编码?
- 在Docker中构build时间很长的微服务
- 泊坞窗停止时运行脚本
- Docker:一些幽灵图片正在搞乱内存
- 是否有可能通过dockerFile构build图像时从.env文件获取值
- Dockerfile WORKDIR,ENTRYPOINT,VOLUME …适用于儿童图像吗?
- 如何在Dockerfile中设置.bash_profile环境variables?
- 保存docker容器设置,如端口映射和卷
- Docker / NodeJS:“exec:\” – d \“:在$ PATH中找不到可执行文件”