如何在不停止容器运行的情况下停止 mysql、运行命令并启动 mysql?

如何在不停止容器运行的情况下停止 mysql、运行命令并启动 mysql?

我有一个容器,在启动时,将一些数据加载到数据库中,并且一切运行良好。

我现在想在该过程结束时使用 删除源数据文件所在的目录rm -rf /mysrc

作为该过程的一部分(在 Dockerfile 内部),我授予了 mysql:mysql 对用于加载所有内容的 src 目录的权限,因为如果我不这样做,它在加载数据时会出现问题(通过执行加载的第三方脚本)并崩溃。

当需要清除 src 目录并调用时,rm -rf /mysrc我收到“权限被拒绝”错误,但 /mysrc 的内容会被删除,而目录仍保留。

如果我尝试,并且chown root:root /mysrc出现“操作不允许”错误,目录当然会保留。

目录仍然存在但文件被删除的事实使我认为当我去删除它时,mysqld 必须对该文件夹有一个句柄。

如果我尝试通过 bash 或脚本从容器停止 mysql 服务(并释放文件夹上的所有句柄),容器就会停止。

我怎样才能删除此目录(及其内容)? 如何在不终止容器的情况下重新启动容器内的 mysql 服务?

相关内容