我正在使用Dockerfile
构建自定义图像。显然,当我停止容器并再次启动它时,新的运行正常工作 - 它不会启动并保持退出0 的状态。
该图像由apache2和一组用于symfony web应用程序的php模块组成。
这就是Dockerfile
结束
RUN a2enmod rewrite
CMD service apache2 restart
ENTRYPOINT ["/usr/sbin/apache2ctl"]
CMD ["-D", "FOREGROUND"]
EXPOSE 80
我看到容器通常使用docker-entrypoint.sh但不确定其中包含的内容及其扮演的角色。
答案 0 :(得分:3)
入口点不应与您的容器无法重新启动有任何关系。您的问题很可能在其他地方,您需要查看容器中的日志进行调试。 ENTRYPOINT
的输出也可能有助于查看容器文件系统中的更改。
如果未定义CMD
,则泊坞窗默认运行ENTRYPOINT
。如果定义了CMD
,则/usr/sbin/apache2ctl -D FOREGROUND
中的任何内容都将成为入口点脚本的cli参数。因此,在上面的示例中,它将使用docker run
启动(或重新启动)容器。在CMD
命令中的容器名称后附加的任何内容都将覆盖ENTRYPOINT
的值。您可以使用docker run --entrypoint ...
覆盖<table>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td colspan="2"> </td>
<td rowspan="2"></td>
</tr>
</table>
的值。