当我打算扩展mysql docker镜像时,我无法添加我自己的入口点shell
最近,我将创build一个自定义的MySQL映像。 我希望它自动运行一个自定义shell来做一些初始化工作后,MySQL服务器启动。 这个函数会把一个SQL结果输出到本地文件中。
我的问题是:虽然我的新的init.sh运行非常成功(从日志),容器在几秒钟后立即停止。
当我正在做这个工作的时候,我提到另外一篇关于如何在自定义Dockfile中创build新的entrypoint.sh的文章。
将新的入口点添加到泊坞窗图像
我跟着那个post内容,创build了我自己的“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中的所有自定义逻辑。 正如我所说,图像已成功创build,但容器无法启动。 任何人都可以给我一些build议吗?
我已经知道为什么我的脚本没有启动mysql服务。 我检查官方mysql的Dockfile。 它在运行入口点shell文件时指定'mysqld'作为参数。 我按照Dockfile后,我的脚本启动mysql服务成功。