我想让一个脚本在每次启动/重新启动时都在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
我知道它是否有效
答案 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
上运行。