容器开始运行脚本

时间:2019-07-18 10:43:30

标签: docker cakephp-2.x kitematic

我想让一个脚本在每次启动/重新启动时都在docker容器中运行。它应使用以下命令运行容器的bash:

cd app
Console/cake schema update

Console/cake migration

我厌倦了在dockerfile中运行一个进程或写一些东西,但是这一切对我都不起作用。我还从docker阅读了“在容器中运行多个服务”,但没有找到解决方案。

复制starter.sh /etc/init.d/starter.sh

RUN chmod +x /etc/init.d/starter.sh
RUN chmod 755 /etc/init.d/starter.sh
RUN update-rc.d starter defaults 10
RUN /etc/init.d/starter.sh

在我的starter.sh中是一些测试代码,例如

RUN mkdir /var/www/hello

我知道它是否有效

1 个答案:

答案 0 :(得分:0)

dockerfile中使用ENTRYPOINT

dockerfile

中添加这些行
COPY starter.sh /opt/starter.sh
ENTRYPOINT ["/opt/starter.sh"]

更新

如果要运行apache Web服务器,请添加以下行

ENTRYPOINT ["/path/to/apache2"]
CMD ["-D", "FOREGROUND"]

这将以守护程序模式在容器内的第一个进程apache2上运行。