Dockerfile代码
FROM mysql:5.6
COPY entrypoint_v1.sh /entrypoint_v1.sh
RUN chmod +x /entrypoint_v1.sh
ENTRYPOINT ["/entrypoint_v1.sh"]
entrypoint_v1.sh
#!/bin/bash
mkdir "anyfolder"
cp index.php cron.php
如果我评论ENTRYPOINT [“ /entrypoint_v1.sh”]正常工作,但我想执行一些命令
答案 0 :(得分:0)
看起来您的entrypoint_v1.sh脚本希望“ index.php”位于容器中,但是您尚未将其添加到Dockerfile中。因此它将无法找到该文件...
答案 1 :(得分:0)
之所以无法继续运行,是因为按照书面规定,您的入口点已退出,因此docker run
结束了。 index.php
在容器中不存在的事实无济于事,但是由于您没有在bash
上运行-e
,因此该错误实际上并没有杀死容器。此后entrypoint_v1.sh
在脚本末尾直接退出时,容器结束。
但是,如果您要复制文件,这听起来像是您自己可以在Dockerfile中进行的操作。但是由于您正在考虑将php文件添加到mysql db容器中,因此尚不清楚您希望在此完成什么。
如果要在容器启动时运行某些程序,然后然后启动mysql ,则必须查看上游mysql:5.6
image's Dockerfile启动时的作用。查看该文件,可以通过将其添加到入口点来获得所需的内容:
exec /entrypoint.sh