最近,我要创建一个自定义的mysql镜像。我希望它在mysql服务器启动后自动运行自定义shell来做一些初始化工作。此函数将SQL结果输出到本地文件中。
我的问题是:虽然我的新init.sh运行非常成功(从日志开始),但容器在启动几秒后立即停止。
当我做这项工作时,我会在另一篇文章中提到如何在自定义Dockfile中创建新的entrypoint.sh Add a new entrypoint to a docker image
我关注了帖子内容,创建了我自己的' init.sh'。它包括调用原始entrypoint.sh
Dockfile:
FROM mysql:5.7
COPY init.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/init.sh
ENTRYPOINT ["init.sh"]
init.sh
#!/bin/bash
./entrypoint.sh
# here are some custom logic...
echo $PATH
我已经删除了init.sh中的几乎所有自定义逻辑。 正如我所说,图像创建成功,但容器无法启动。 谁能给我一些建议?
答案 0 :(得分:0)
我知道为什么我的脚本没有启动mysql服务。 我检查官方的mysql Dockfile。它指定了'mysqld'作为运行入口点shell文件时的参数。在我按照Dockfile后,我的脚本成功启动了mysql服务。