最近,我将创建一个定制的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中几乎所有的自定义逻辑。正如我已经说过的,图像是成功创建的,但是容器无法启动。有人能给我一些建议吗?
发布于 2017-05-11 13:20:00
我知道为什么我的脚本没有启动mysql服务。我检查正式的mysql check文件。它在运行entrypoint shell文件时指定'mysqld‘作为参数。跟踪Dockfile之后,我的脚本成功地启动了mysql服务。
https://stackoverflow.com/questions/43605831
复制相似问题